Как добавить пункты подменю в contextmenustrip с помощью C#4.0?
У меня есть один элемент управления contextmenustrip, связанный с treenode. Я создал один пункт меню в contextmenustrip вручную в самой форме (например, с именем "назначить").
теперь я хочу добавлять подменю всякий раз, когда пользователь нажимает этот пункт назначения, он создаст список имен пользователей в качестве подменю с проверенной или непроверенной опцией.
например, как только пользователь нажал "назначить", я хочу показать имя пользователя динамически.
2 ответов
чтобы добавить элемент, вы бы позвонили
myContextMenuStrip.Items.Add("Item title", null, myClickHandler);
чтобы добавить подменю, вы берете существующий элемент и делаете то же самое с ним:
(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add(...)
определите полосу меню и пункты
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem item, submenu;
создать новый элемент.
submenu = new ToolStripMenuItem();
submenu.Text = "Sub-menu 1";
в это время ваш новый элемент так же, как и другие. Теперь создайте несколько новых элементов и добавьте их в подменю:
item = new ToolStripMenuItem();
item.Text = "Sub-item 1";
submenu.DropDownItems.Add(item);
item = new ToolStripMenuItem();
item.Text = "Sub-item 2";
submenu.DropDownItems.Add(item);
наконец добавьте подменю в свой основной ContextMenuStrip
menu.Items.Add(submenu);