当用户选择文本时,将自定义项添加到右键菜单

时间:2013-01-16 19:56:37

标签: c# .net windows

我想在用户选择某些文字和右键点击时显示的菜单中添加自定义菜单项。我搜索了很多但没有得到任何答案。也许我没有输入正确的关键字。

  1. 可以这样做吗?
  2. 如果可以,我想在用户选择文本时为Windows中的所有应用程序执行此操作。有没有通用的方法来完成或者必须编写特定于应用程序的代码?
  3. 我正在使用C#。

3 个答案:

答案 0 :(得分:0)

我不认为你可以在所有Windows应用程序中普遍这样做。但是使用弹出菜单确实可以在你自己的应用程序中完成。

答案 1 :(得分:0)

我也尝试过将项目添加到标准ContextMenu并失败的方法。从我的角度来看,唯一的解决方案是将TextBox的ContextMenuStrip属性设置为ContextMenuStrip类的实例,并实现标准和自定义菜单项。模拟标准操作很容易,因为TextBox类提供了所有必需的方法:剪切,复制,粘贴,SelectAll。

答案 2 :(得分:0)

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

Custom Shell Extension

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