繁体   English   中英

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

[英]Add custom item to right click menu when user selects text

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

  1. 是否有可能做到这一点?
  2. 如果可能的话,无论何时用户选择文本,我都希望对Windows中的所有应用程序执行此操作。 有通用的方法吗?还是必须编写特定于应用程序的代码?

我正在使用C#。

我认为您无法在所有Windows应用程序中普遍做到这一点。 但是使用弹出菜单在您自己的应用程序中当然可以实现。

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

通用方法基本上是编写“自定义外壳程序扩展”。 在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM