我有一个带文本框的简单winform应用程序
我没有为文本字段分配任何上下文菜单,“它使用”标准字段。我希望在文本框的标准上下文菜单中添加一些新项目。但我无法获得修改,如果更清楚我不知道如何获得HMENU本机对象
我的文本框的ContextMenu
属性等于null
所以我认为菜单在textbox默认windProc路由中出现。有没有办法获取默认的上下文菜单或获取它的副本?
提前致谢!
答案 0 :(得分:1)
根据您使用的任何插件,创建一个从TextBox派生并定义“默认”上下文菜单的自定义控件可能更容易,也更容易理解。然后,将解决方案中的所有TextBox更改为您的自定义控件。如果失败了,如果你有一个共同的窗口祖先,请设置一些初始化代码,将给定的ContextMenu分配给TextBox类型的表单层次结构中的所有控件。您没有插入低级别的Windows挂钩,而是使用框架为您提供的功能,而您的子孙后代不必知道Windows如何在消息传递级别处理上下文菜单以便更改这种行为。