2010-09-02 44 views
8

Hãy nói rằng tôi có một WinForm có một dải menu trong đó. Giả sử một trong các mục của dải menu này được đặt tên là Ô tô.Lập trình thêm mục vào dải menu?

Bất cứ khi nào tôi mở WinForm, tôi muốn thêm một phụ đề con dưới Ô tô cho mỗi ô tô trong một bảng.

Điều này có thể thực hiện với mã không?

Trả lời

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

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

Lưu ý: Nếu bạn thêm một sự kiện vào subitem, chắc chắn bạn huỷ đăng ký sự kiện đó nếu bạn nạp thêm danh sách nhiều lần, nếu không bạn sẽ có một rò rỉ bộ nhớ.

Lưu ý2: Nếu bạn có nhiều mục, bạn nên sử dụng DropDownItems.AddRange thay vì vì lý do hiệu suất.

+1

Đối với một số lý do, DropDownItems không phải là một tùy chọn có sẵn từ intellitext ... Bất kỳ ý tưởng? – sooprise

+0

@Soo, mục menu Ô tô của bạn là loại gì? Khi tôi tạo một menu trong trình thiết kế, menu Ô tô của tôi là một ToolStripMenuItem. –

+0

Xem thêm tại đây để biết các ví dụ về cách kết nối các sự kiện https://stackoverflow.com/questions/1608102/how-to-add-things-to-a-menustrip-programatically –

Các vấn đề liên quan