簡體   English   中英

如何獲取觸發上下文菜單項的索引

[英]how do I get the index of a firing context menu item

我想確定所選上下文菜單項的索引。 但是我不想為每個菜單項構建唯一的事件處理程序...我該如何做

MenuItem mi=   StatusContextMenu.MenuItems.Add("Set option");
  mi.MenuItems.Add(0,new MenuItem("Set to A", new EventHandler(SetLetter)) );
  mi.MenuItems.Add(1,new MenuItem("Set to B", new EventHandler(SetLetter)));
  mi.MenuItems.Add(2,new MenuItem("Set to C ", new EventHandler(SetLetter)));
  mi.MenuItems.Add(3,new MenuItem("Set to D", new EventHandler(SetLetter)));

private void SetLetter(object sender, System.EventArgs e)
{
  index = ????
}

C#、. net 2.0

您可以強制轉換“ sender”參數(廣播到MenuItem)以在mi.MenuItems集合中找到索引。

或者,我將使用匿名函數設置事件處理程序。

例如

mi.MenuItems.Add(0,new MenuItem("Set to A", (s, e) => SetLetter("A"));

然后,您將SetLetter設置為:

private void SetLetter(string letterToSetTo)
{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM