是否可以获取和修改文本框的标准系统上下文菜单?

Ant*_*nov 5 c# winapi winforms

我有一个带文本框的简单winform应用程序.
我没有为文本字段分配任何上下文菜单,"它使用"标准字段.我希望在文本框的标准上下文菜单中添加一些新项目.但我无法获得它进行修改,如果更清楚我不知道如何获得HMENU本机对象.
ContextMenu我的文本框的属性等于null所以我认为菜单在文本框中默认为windProc路由.有没有办法获取默认的上下文菜单或获取它的副本?

提前致谢!

Kei*_*thS 1

根据您使用的任何插件,创建派生自 TextBox 并定义“默认”上下文菜单的自定义控件可能会更容易且更容易理解。然后,将解决方案中的所有文本框更改为自定义控件。如果做不到这一点,如果您有一个公共窗口祖先,请设置一些初始化代码,将给定的 ContextMenu 分配给 TextBox 类型的窗体层次结构中的所有控件。您无需插入低级 Windows 挂钩,而是使用框架为您提供的内容来完成相同的目标,并且您的后代不必知道 Windows 如何在消息传递级别处理上下文菜单来更改这种行为。