簡體   English   中英

c# 如何在運行時添加contextMenuStrip item?

[英]c# how to add contextMenuStrip item at runtime?

我確信這個問題的答案之前已經發布過。 請原諒我,我想我只是沒有想到正確的搜索字符串。

我擁有的是分配給撥號器托盤圖標的上下文菜單條。 這個想法是讓用戶從菜單中設置各種號碼和 select 用戶定義的號碼並啟動撥號。

因此,菜單會彈出PresetsSetupExit 我希望預設菜單打開一個新樹,列出用戶定義的編號。 我還希望在每次加載應用程序時從 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.

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