2010-09-02 38 views
8

Diyelim ki içinde bir menü şeridi olan bir WinForm'um var. Diyelim ki bu menü şeridinin parçalarından biri Arabalar.Öğeleri Menü Çubuğuna Programlı Olarak Ekleme?

WinForm'umu her açtığımda, bir tablodaki her araba için Otomobiller altından bir alt öğe eklemek istiyorum.

Bu kod ile yapmak mümkün mü?

cevap

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

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

Not: AltÖğe için bir etkinlik eklerseniz, aksi takdirde bellek sızıntısı olacak art arda listesini yenilemek durumunda bu olaya aboneliğinden emin olun.

Not2: Birçok öğeniz varsa, performans nedenleriyle bunun yerine DropDownItems.AddRange'u kullanmalısınız.

+1

Herhangi bir nedenden dolayı, DropDownItems, intellitext'ten uygun bir seçenek değildir ... Herhangi bir fikir? – sooprise

+0

@Soo, Otomobiller menü öğeniz nedir? Tasarımcıda bir menü oluşturduğumda Otomobillerim menüsü bir ToolStripMenuItem. –

+0

Ayrıca, kablolama olaylarıyla ilgili örneklere bakın: https://stackoverflow.com/questions/1608102/how-to-add-things-to-a-menustrip-programatically –

İlgili konular