У меня есть contextMenuStrip, который генерировал данные динамической формы в базе данных. Данные в базе данных имеют столбец группы, и я хочу использовать его для динамического создания подменю для приложения. Моя проблема в том, что он создает дубликаты элементов подменю, и я хочу, чтобы они были сгруппированы.C# Создание ContextMenuStrip Sub Меню и элементы Динамически
это мой список и конструктор.
List<Tuple<WebLinks>> WebLinksList = new List<Tuple<WebLinks>>();
class WebLinks
{
public string Name { get; set; }
public string Link { get; set; }
public string Group { get; set; }
}
До сих пор это рабочий код, чтобы создать контекстное меню, но мне это нужно, чтобы изменить мнение группы, а не просто показать имя.
private void CreateMenu()
{
foreach (Tuple<WebLinks> wl in WebLinksList)
{
contextMenuStripMain.Items.Add(wl.Item1.Name);
}
contextMenuStripMain.Items.Add("-");
contextMenuStripMain.Items.Add("Settings");
contextMenuStripMain.Items.Add("Exit");
}
выше работает нормально, но ничего не группируется, поэтому мне нужно работать в «wl.Item1.Group» где-нибудь, но Google не было никакой помощи в моей ситуации.
Я устал This Stack Overflow, и он дал мне дубликаты групп, где я пытался отфильтровать его, но не повезло. Надеюсь, у меня есть смысл.
Большое спасибо, я вижу, что вы здесь делаете, но по какой-то причине «groupItem.Items.AddRange» дает ошибки, ToolStripItem не содержит определения для «Items» и не имеет метода расширения «Items». – Psystec
@Psystec Да, была ошибка. 'Items.Add' возвращает абстрактный' ToolStripItem', который не знает о подпозициях. Элемент 'ToolStripMenuItem' имеет подпункты, но с именем' DropDownItems' вместо 'Items'. Обновлен мой ответ. –
Спасибо, человек, ты лучший. он работает как шарм, я вижу, что вам нужно событие click для подменю. – Psystec