2009-12-13 20 views
1

什么控件可以显示剪贴板项目和文件?我希望能够在选择时粘贴这些项目和文件。我该如何设置它才能显示项目的历史记录,并且程序会记住剪贴板上复制的项目。如何在WinForms中显示剪贴板信息?


对不起,我改变了主意到WinForms。我听说WPF的学习曲线非常陡峭,并且由于我已经熟练使用了WinForms,所以在对WPF进行了大量的了解之前,没有必要改变WPF。

回答

3

How to: Retrieve Data from the Clipboard

要确定剪贴板 是否包含特定格式数据, 使用一个ContainsFormat方法 或GetData方法。要从剪贴板检索 数据,请使用GetFormat方法或GetData 方法中的一个。

+0

+1在MSDN上给出该主题的链接。 – 2009-12-15 01:32:27

0

Windows剪贴板只能包含1个项目,而不包含复制项目的历史记录。因此,您的应用程序必须通过监控剪贴板活动来手动处理,如解释here。请注意,在WPF中,您无法覆盖WndProc方法,因此需要使用HwndSource.AddHook注册挂钩来处理Windows消息。

当您收到WM_DRAWCLIPBOARD通知时,您可以使用Clipboard类访问剪贴板数据,并执行您需要的任何操作。

注意,有一个与在WPF剪贴板中的图像一个已知的bug,我描述了一个解决方案here