簡體   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