簡體   English   中英

如何獲取子菜單項的上下文菜單單擊事件

[英]How to get Context Menu click event for a sub menu item

我有以下代碼,創建帶有子菜單的上下文菜單;

ContextMenuStrip oContextMenuStrip = new ContextMenuStrip();
ToolStripSeparator oToolStripSeparator = new ToolStripSeparator();
ToolStripMenuItem oToolStripItem = new ToolStripMenuItem();

oToolStripItem.Text = "Change Status";

oToolStripItem.DropDownItems.Add("Booked", 1);
oToolStripItem.DropDownItems.Add("Pending", 2);
oToolStripItem.DropDownItems.Add("Cancelled", 3);

oContextMenuStrip.Items.Add(oToolStripItem);
oContextMenuStrip.Items.Add(oToolStripSeparator);

oContextMenuStrip.ItemClicked += new ToolStripItemClickedEventHandler(ContextMenuClick_ItemClicked);

void ContextMenuClick_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
    ToolStripItem oToolStripItem = e.ClickedItem;

}

我遇到的問題是僅當用戶單擊“更改狀態”菜單時才調用ContextMenuClick_ItemClicked事件。 我需要捕獲什么事件才能捕獲“已預訂”等項目的點擊事件。

使用另一個版本的ToolStripItemCollection.Add方法:

public ToolStripItem Add(
    string text,
    Image image,
    EventHandler onClick
)

ToolStripItemCollection.Add方法(字符串,圖像,事件處理程序)

例如:

oToolStripItem.DropDownItems.Add("Booked", null, (s, e) => BookedClicked());

接着:

private void BookedClicked() {
  // Do your magic
}

暫無
暫無

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

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