[英]c# how to add contextMenuStrip item at runtime?
我確信這個問題的答案之前已經發布過。 請原諒我,我想我只是沒有想到正確的搜索字符串。
我擁有的是分配給撥號器托盤圖標的上下文菜單條。 這個想法是讓用戶從菜單中設置各種號碼和 select 用戶定義的號碼並啟動撥號。
因此,菜單會彈出Presets
、 Setup
和Exit
。 我希望預設菜單打開一個新樹,列出用戶定義的編號。 我還希望在每次加載應用程序時從 xml 文件中填充它。
我的問題是我不知道如何動態填充子菜單項並給它一個 function。
那么我如何在啟動時將用戶定義的號碼添加到預設 -> ( userNumber1, usernumber2, userNumber3
) 然后在單擊時調用dial()
function?
所以我找到了如何添加到列表中......我現在覺得問這個很傻。 對於任何其他想知道那個的人,列表項都有一個名字。 我的情況是名稱屬性是“presetsToolStripMenuItem”
因此,要向其中添加一個項目,請調用名稱
presetsToolStripMenuItem.DropDownItems.Add(string text)
沒有繼續前進。 我現在被卡住了,試圖弄清楚如何為新添加的 function 分配一個事件。我確實找到了
presetsToolStripMenuItem.DropDownItems.Add(string text, image, eventargs)
我正在努力解決這個問題。 也許我需要停下來,稍后再回來。 也許如果有人能給我提供一個使用這一行調用function();
我將不勝感激。
對於任何感興趣的人,我想出了在運行時添加上下文菜單項並能夠調用 function 的解決方案。
如前所述,要將子菜單項添加到父類別,請使用parent.name
。 所以在我的例子中,預設菜單項名稱是“presetsToolStripMenuItem”
要添加 function,我使用了 3 參數方法。
ToolStripMenuItem.DropdownItems.Add("string name", image, eventargs);
所以我的代碼看起來像這樣:
presetsToolStripMenuItem.DropDownItems.Add("added2", null, disp);
void disp(object sender, EventArgs e)
{
MessageBox.Show("It works!");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.