如何在WinForms中显示剪贴板信息?

时间:2009-12-13 23:18:41

标签: c# winforms

哪些控件可以显示剪贴板项目和文件?我希望这些项目和文件能够在选择时粘贴。如何设置它以便显示项目历史记录,程序会记住复制到剪贴板上的项目。


抱歉,我改变主意去WinForms。我听说WPF有一个非常陡峭的学习曲线,因为我已经精通WinForms,所以在我学到很多知识之前,没有必要改用WPF。

2 个答案:

答案 0 :(得分:3)

请参阅How to: Retrieve Data from the Clipboard

  

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

答案 1 :(得分:0)

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

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

请注意,WPF剪贴板中存在已知的图像错误,我描述了解决方案here