2

我确信这个问题的答案之前已经发布过。请原谅我,因为我认为我只是没有想到正确的搜索字符串。

我拥有的是分配给我的拨号器托盘图标的上下文菜单条。这个想法是让用户设置各种数字并从菜单中选择用户定义的数字并启动拨号。

所以菜单弹出Presets, Setup, & Exit。我希望预设菜单打开一个列出用户定义数字的新树。我还希望每次加载应用程序时都从 xml 文件中填充它。

我的问题是我不知道如何动态填充子菜单项并为其赋予功能。

那么我如何在启动时将用户定义的数字添加到预设 ->(userNumber1, usernumber2, userNumber3),然后dial()在单击时调用该函数?


所以我找到了如何添加到列表中......我现在觉得问这个很傻。对于任何想知道那个的人,列表项都有一个名称。我的情况是名称属性是“presetsToolStripMenuItem”

因此,要向其中添加项目,请调用名称

presetsToolStripMenuItem.DropDownItems.Add(string text)

不继续。我现在被困在试图弄清楚如何将事件分配给新添加的功能。我确实找到了

presetsToolStripMenuItem.DropDownItems.Add(string text, image, eventargs)

我正在努力解决这个问题。也许我需要停下来,稍后再回来。也许如果有人可以为我提供一个使用这条线调用 a 的示例,function();我将不胜感激。

4

1 回答 1

4

对于任何感兴趣的人,我想出了在运行时添加上下文菜单项并能够调用函数的解决方案。

如前所述,要将子菜单项添加到父类别,请使用parent.name. 所以在我的情况下,预设菜单项名称是“presetsToolStripMenuItem”

要添加功能,我使用了 3 参数方法。

 ToolStripMenuItem.DropdownItems.Add("string name", image, eventargs);

所以我的代码如下所示:

presetsToolStripMenuItem.DropDownItems.Add("added2", null, disp);

void disp(object sender, EventArgs e)
    {
        MessageBox.Show("It works!");
    }
于 2012-04-06T21:23:16.607 回答