C# 如何为所选文本设置上下文菜单&;

C# 如何为所选文本设置上下文菜单&;,c#,.net,winforms,C#,.net,Winforms,2个问题: 在google chrome中,如果您选择一个单词(比如问题),然后右键单击此选定文本,上下文菜单将显示两个项目1。复制2.在谷歌上搜索问题3。检查元件。上下文菜单与整个窗口的上下文菜单不同。如何为所选文本使用此单独的上下文菜单 我试图完成的确切任务是:我有一个文本框(在winforms中)。现在,当用户rt单击时,上下文菜单只显示粘贴。若文本框已填充,但有一些文本,并且用户选择了一些文本,然后右键单击所选文本,则应显示带有 项目:复制、剪切、粘贴、全选。怎么做 对于复制文本,用户有

2个问题:

  • 在google chrome中,如果您选择一个单词(比如
    问题
    ),然后右键单击此选定文本,上下文菜单将显示两个项目1。复制2.在谷歌上搜索
    问题
    3。检查元件。上下文菜单与整个窗口的上下文菜单不同。如何为所选文本使用此单独的上下文菜单

    我试图完成的确切任务是:我有一个文本框(在winforms中)。现在,当用户rt单击时,上下文菜单只显示粘贴。若文本框已填充,但有一些文本,并且用户选择了一些文本,然后右键单击所选文本,则应显示带有 项目:复制、剪切、粘贴、全选。怎么做

  • 对于复制文本,用户有3个选项:

  • 复制(在关联菜单中)
  • 编辑菜单
  • Ctrl+C

  • 所有这些都做同样的事情,将选定的数据复制到剪贴板。我想覆盖使用这3种方法复制选定数据的功能,以便将所需数据复制到剪贴板。如何操作?

    您可以将自定义ContextMenuStrip分配给文本框的ContextMenuStrip属性。因此,我将实例化我自己的,用复制/粘贴的项目和您需要的其他项目填充它。然后,您可以处理ContextMenuStrip的打开事件,检查文本框中是否有选定的文本,并在显示之前修改菜单项(即更改“搜索谷歌”项的可见属性)

    private void contextMenuStrip1_打开(对象发送方,CancelEventArgs e) { var item=searchGoogleMenuItem; if(item.Visible=!string.IsNullOrEmpty(textBox1.SelectedText)) item.Text=string.Format(“搜索谷歌“{0}”,textBox1.SelectedText); }
    你想做什么不太清楚。。。你能解释清楚吗? private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { var item = searchGoogleMenuItem; if (item.Visible = !string.IsNullOrEmpty(textBox1.SelectedText)) item.Text = string.Format("Search Google '{0}'", textBox1.SelectedText); }