检查剪贴板是否有复制的文本

时间:2010-02-17 18:45:36

标签: c# .net clipboard contextmenu

我想在RichTextBox中添加剪切/复制/粘贴ContextMenuStrip,但问题是,我想启用或禁用关于Windows剪贴板当前条件的粘贴按钮..我的意思是,如果有任何文本已经复制,然后该按钮应该启用,否则禁用。

知道我怎么能做到这一点吗?

2 个答案:

答案 0 :(得分:5)

您可以使用在打开上下文菜单时检查的Clipboard.ContainsText

答案 1 :(得分:1)

关于ContainsText(Delphi的Clipboard.HasFormat(CF_TEXT))函数的注释... 这绝对是唯一的好解决方案。有些应用实际上是下一步并将剪贴板文本粘贴到缓冲区中进行检查 - 看它是否包含他们正在寻找的东西,例如URL(下载“助手”和音乐应用程序喜欢这样做),或者他们认识到的其他东西,例如XML废料,代表IDE中的控件的文本(用于执行此操作的Delphi)等。这是不好的,因为您无法粘贴剪贴板内容而不会导致意外的副作用,例如作为触发剪贴板查看器的WM_RenderFormat消息。