在ContextMenuStrip中获取ToolstripItem的文本

时间:2011-06-29 15:43:12

标签: c# .net contextmenu toolstrip

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

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

为此,我需要获得与toolstripitem相关联的“Text”。我怎样才能做到这一点? 我不能使用toolstripitemname.text因为我不知道项目名称,直到运行时...我尝试使用

ChangeTotoolstripitem.DropDown.Items... 

但我需要索引...

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

private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)

4 个答案:

答案 0 :(得分:1)

使用

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

答案 1 :(得分:1)

这会不起作用,因为你有ToolStripItemClickedEventArgs?:

string toolstripItemName = e.ClickedItem.Text;

答案 2 :(得分:1)

我必须阅读几次,但我认为这就是你所追求的:

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)或其他任何内容。

答案 3 :(得分:0)

ToolStripItem item = e.ClickedItem;
Console.WriteLine("++ clicked item ->{0}[{1}]  of {2}", item.Name, item.Text, item.Owner.Name);
相关问题