2

我想在用户选择一些文本并右键单击时出现的菜单中添加一个自定义菜单项。我搜索了很多,但没有得到任何答案。也许我没有输入正确的关键字。

  1. 是否有可能做到这一点?
  2. 如果这是可能的,我想在用户选择文本时对 Windows 中的所有应用程序执行此操作。是否有一种通用的方法来做到这一点,或者必须编写特定于应用程序的代码?

我正在使用 C#。

4

3 回答 3

0

我认为您不能在所有 Windows 应用程序中普遍做到这一点。但当然可以在您自己的应用程序中使用弹出菜单进行操作。

于 2013-01-16T19:58:20.353 回答
0

通用方式基本上是编写“自定义外壳扩展”。CodeProject 上有一篇关于如何执行此操作的文章。

自定义外壳扩展

http://www.codeproject.com/Articles/174369/How-to-Write-Windows-Shell-Extension-with-NET-Lang

另一种方法是将其构建到您的应用程序中。例如,您可能有一个文本编辑器,并且您想要突出显示一个单词并获得该单词的定义。为此,您需要实现一个上下文菜单。CodeReview.StackExchange 详细介绍了非常基本的概念。

https://codereview.stackexchange.com/questions/3983/c-programatically-creating-context-menu

于 2013-01-16T20:09:52.703 回答
0

我还尝试了一种将项目添加到标准 ContextMenu 的方法,但失败了。在我看来,唯一的解决方案是将 TextBox 的 ContextMenuStrip 属性设置为 ContextMenuStrip 类的实例,并同时实现标准和自定义菜单项。很容易模仿标准操作,因为 TextBox 类提供了所有必需的方法:剪切、复制、粘贴、全选。

于 2013-01-16T20:00:49.450 回答