我有一個每5秒重新生成一次的字符串列表。我想創建一個上下文菜單,並使用此列表動態設置它的項目。 問題是,我甚至不知道如何做到這一點,併爲每個生成的項目(應該使用與不同參數DoSomething(「item_name」))相同的方法來管理Click動作。將項目動態添加到上下文菜單並設置點擊操作
我該怎麼做?
謝謝你的時間。 此致敬禮。
我有一個每5秒重新生成一次的字符串列表。我想創建一個上下文菜單,並使用此列表動態設置它的項目。 問題是,我甚至不知道如何做到這一點,併爲每個生成的項目(應該使用與不同參數DoSomething(「item_name」))相同的方法來管理Click動作。將項目動態添加到上下文菜單並設置點擊操作
我該怎麼做?
謝謝你的時間。 此致敬禮。
所以,你可以清除從上下文菜單中的項目有:
myContextMenuStrip.Items.Clear();
你可以通過調用添加項目:
myContextMenuStrip.Items.Add(myString);
上下文菜單中有一個ItemClicked事件。您的處理程序可能看起來像這樣:
private void myContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
DoSomething(e.ClickedItem.Text);
}
似乎工作對我來說OK。如果我誤解了你的問題,請告訴我。
使用ToolStripMenuItem
對象另一種選擇:
//////////// Create a new "ToolStripMenuItem" object:
ToolStripMenuItem newMenuItem= new ToolStripMenuItem();
//////////// Set a name, for identification purposes:
newMenuItem.Name = "nameOfMenuItem";
//////////// Sets the text that will appear in the new context menu option:
newMenuItem.Text = "This is another option!";
//////////// Add this new item to your context menu:
myContextMenuStrip.Items.Add(newMenuItem);
裏面的ItemClicked
事件您myContextMenuStrip
的,你可以查看已經選擇的選項(基於菜單項的name屬性)
private void myContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ToolStripItem item = e.ClickedItem;
//////////// This will show "nameOfMenuItem":
MessageBox.Show(item.Name, "And the clicked option is...");
}
謝謝!這就是我正在尋找的 – 2008-10-22 12:28:53