2

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

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

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

ChangeTotoolstripitem.DropDown.Items... 

但我需要索引...

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

private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
4

4 回答 4

1

采用

private void changeTypeToToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
   string clickedtext=e.ClickedItem.Text;
}
于 2011-06-29T15:49:28.550 回答
1

当您拥有 ToolStripItemClickedEventArgs 时,这不会起作用吗?:

string toolstripItemName = e.ClickedItem.Text;
于 2011-06-29T15:51:26.447 回答
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) 或其他任何名称。

于 2011-06-29T15:54:26.557 回答
0
ToolStripItem item = e.ClickedItem;
Console.WriteLine("++ clicked item ->{0}[{1}]  of {2}", item.Name, item.Text, item.Owner.Name);
于 2013-10-08T07:37:06.177 回答