Programmatically Adding Items To A Menu Strip?
Asked Answered
A

1

10

Let's say I have a WinForm that has a menu strip in it. Let's say one of the items of this menu strip is named Cars.

Whenever I open my WinForm, I want to add a subitem under Cars for every car in a table.

Is this possible to do with code?

Additional answered 2/9, 2010 at 20:33 Comment(0)
T
17
string[] cars = new string[]{"Volvo", "SAAB"};

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

Note: If you add an event to the subItem, make sure you unsubscribe to that event if you are refreshing the list repeatedly, otherwise you will have a memory leak.

Note2: If you have many items you should use DropDownItems.AddRange instead for performance reasons.

Titania answered 2/9, 2010 at 20:42 Comment(3)
For some reason, DropDownItems isn't an available option from intellitext... Any ideas?Additional
@Soo, what type is your Cars menu item? When I create a menu in the designer my Cars menu is a ToolStripMenuItem.Titania
See also here for examples on wiring up events #1608602Denominator

© 2022 - 2024 — McMap. All rights reserved.