【问题标题】:Getting the Text of ToolstripItem in a ContextMenuStrip在 ContextMenuStrip 中获取 ToolstripItem 的文本
【发布时间】:2011-06-29 15:43:11
【问题描述】:

我有一个 DGV 的上下文菜单条。它有一个名为“ChangeTo”的工具条,它分支成一组根据所使用的配置文件动态创建的项目。当我运行具有 Rt-Click 的程序时 -> 更改为 -> (项目列表)

当我单击 contextmenustrip 下拉列表中的任何项目时,我希望 DGV 的选定行更改为列表中的文本...

为此,我需要获取与工具条相关的“文本”。我怎样才能做到这一点? 我不能只使用 toolstripitemname.text 因为我直到运行时才知道项目名称...我尝试使用

ChangeTotoolstripitem.DropDown.Items... 

但我需要索引...

这是我在点击项目时使用的功能

private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)

【问题讨论】:

    标签: c# .net contextmenu toolstrip


    【解决方案1】:

    如果您有 ToolStripItemClickedEventArgs,这会不会起作用?:

    string toolstripItemName = e.ClickedItem.Text;
    

    【讨论】:

      【解决方案2】:

      使用

      private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
      {
         string clickedtext=e.ClickedItem.Text;
      }
      

      【讨论】:

        【解决方案3】:

        我不得不读了几遍,但我认为这就是你所追求的:

        private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) {
          ToolStripMenuItem mi = sender as ToolStripMenuItem;
          if (mi != null) {
            // This is your text:
            Console.WriteLine(mi.Text);
          }
        }
        

        这就是你所追求的吗?您可以轻松获取控件的名称 (mi.Name) 或其他任何名称。

        【讨论】:

          【解决方案4】:
          ToolStripItem item = e.ClickedItem;
          Console.WriteLine("++ clicked item ->{0}[{1}]  of {2}", item.Name, item.Text, item.Owner.Name);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-08-14
            • 1970-01-01
            • 1970-01-01
            • 2011-09-13
            • 2010-12-05
            • 1970-01-01
            • 2017-06-29
            • 1970-01-01
            相关资源
            最近更新 更多