#c# #c#-4.0 #contextmenustrip
#c# #c #-4.0 #contextmenustrip
Вопрос:
У меня есть один элемент управления contextmenustrip, связанный с treenode. Я создал один пункт меню в contextmenustrip вручную в самой форме (например, с именем «Назначить»).
Теперь я хочу добавлять пункты подменю всякий раз, когда пользователь нажимает на этот пункт назначения, он создаст список имен пользователей в качестве пункта подменю с отмеченной или непроверенной опцией.
Например, как только пользователь нажмет Назначить, я хочу динамически отображать имя пользователя.
Ответ №1:
Чтобы добавить элемент, вы должны вызвать
myContextMenuStrip.Items.Add("Item title", null, myClickHandler);
Чтобы добавить подменю, вы берете существующий элемент и проделываете с ним то же самое:
(myContextMenuStrip.Items[0] as ToolStripMenuItem).DropDownItems.Add(...)
Ответ №2:
Определите свою строку меню и пункты
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);
Комментарии:
1. Спасибо, Камарадо, разбивка очень помогла!