【发布时间】:2010-03-17 11:21:18
【问题描述】:
我想在 RichTextBox 中添加剪切/复制/粘贴 ContextMenuStrip,但问题是,我想根据 Windows 剪贴板的当前条件启用或禁用粘贴按钮。我的意思是,如果有任何文本已复制,则该按钮应启用,否则禁用。
知道我该怎么做吗?
【问题讨论】:
标签: c# .net clipboard contextmenu
我想在 RichTextBox 中添加剪切/复制/粘贴 ContextMenuStrip,但问题是,我想根据 Windows 剪贴板的当前条件启用或禁用粘贴按钮。我的意思是,如果有任何文本已复制,则该按钮应启用,否则禁用。
知道我该怎么做吗?
【问题讨论】:
标签: c# .net clipboard contextmenu
您可以使用Clipboard.ContainsText,在上下文菜单打开时检查
【讨论】:
关于 ContainsText (Clipboard.HasFormat(CF_TEXT) for Delphi) 函数的注释... 这绝对是唯一好的解决方案。一些应用程序实际上会进行下一步并将剪贴板文本粘贴到缓冲区中以供检查 - 查看它是否包含他们正在寻找的内容,例如 URL(下载“帮助程序”和音乐应用程序喜欢这样做),或者他们识别的其他内容,例如 XML 废料、表示 IDE 中的控件的文本(Delphi 曾经这样做)等。这是坏消息,因为您无法粘贴剪贴板内容而不会导致意外的副作用,例如作为向剪贴板查看器触发 WM_RenderFormat 消息。
【讨论】: