【发布时间】:2013-10-21 06:34:45
【问题描述】:
当右键单击具有默认 Windows 上下文菜单的文本框时,我想知道用户是否选择了 copy cut 或 paste 选项,以便在用户选择特定的上下文菜单选项时执行辅助操作。
我没有代码,因为我不知道从哪里开始尝试识别用户在上下文菜单中选择了哪个选项,以及如何捕获左键单击,因为我试图捕获默认的上下文菜单 mouseleft单击文本框MouseDown/Mouseclick 事件没有成功,我知道这没有多大意义,因为它是上下文菜单鼠标单击,而不是文本框鼠标单击,但是...我不知道如何管理该外部上下文菜单。
【问题讨论】:
-
由于您想提供自己的操作,因此您应该替换默认的 ContextMenu - 即使这些操作是“次要的”。可能比尝试连接或搭载 Win/Net 的代码更少,也更容易。
-
@Plutonix 这就是我一直以来的处理方式。然后您可以手动将内容添加到剪贴板,也可以直接调用快捷键
SendKeys.SendWait("[CTRL]+C") -
只是一个例子:假设我只想在用户在默认上下文菜单中选择“复制”或“粘贴”选项时抛出一个 MsgBox,这就是我所要求的。感谢阅读!
-
@Plutonix 我不想在此应用程序中将默认上下文菜单替换为自定义上下文菜单,
Probably less code and easier than...取决于它是简单的 cm 还是完全替换,默认 cm 有多个IME 选项,您确实需要大量代码来重现所有这些选项,例如 Unicode 控制选项......否则只需使用复制/剪切/粘贴选项制作上下文菜单我不喜欢它,但是只需要很少代码行,但似乎不是很专业(对于文本框)。我在这个应用程序中不需要它。 -
对不起,我没有冒犯任何人的意思,只是对我来说,我认为这似乎并不专业,我认为任何其他类型控制的自定义 CM 都很好,但不适用于TextBox 控件,我总是在所有应用程序上看到 TextBox 的默认 CM,但我们的不同之处在于,无论如何我无法想象一个人可以将哪些自定义选项添加到文本框自定义 CM,因为 Windows 默认 Textbox CM 具有所有需要的选项! ,谢谢你的评论。
标签: .net vb.net winforms textbox contextmenu