以编程方式向菜单条添加项目?

11

假设我有一个包含菜单条的WinForm。假设菜单条中的一个项目名为Cars。

每当我打开我的WinForm时,我想为表格中的每辆车添加一个Cars下的子项。

这是否可以通过代码实现?

1个回答

18
string[] cars = new string[]{"Volvo", "SAAB"};

foreach (var car in cars)
{
    ToolStripItem subItem = new ToolStripMenuItem(car);
    carsToolStripMenuItem.DropDownItems.Add(subItem);
}

注意:如果您向子项添加事件,请确保在多次刷新列表时取消订阅该事件,否则会导致内存泄漏。

注意2:如果您有许多项,则出于性能原因,应改用DropDownItems.AddRange


2
由于某些原因,DropDownItems在intellitext中不可用... 有什么想法吗? - sooprise
@Soo,你的“Cars”菜单项是什么类型?当我在设计器中创建菜单时,我的“Cars”菜单是一个ToolStripMenuItem。 - Albin Sunnanbo
2
请参见此处有关如何编写事件的示例:https://dev59.com/xEnSa4cB1Zd3GeqPSO2j - Matthew Lock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接