У меня есть c# полоса меню с элементами меню верхнего уровня (элементы TLM). Я динамически добавляю элементы к одному из элементов TLM следующим образом, что прекрасно работает.
DataRowCollection DRC = DataAccessClass.GetData("SELECT * FROM company ORDER BY CompanyName");
ToolStripMenuItem[] items = new ToolStripMenuItem[DRC.Count];
int itemCounter = 0;
foreach (DataRow dr in DRC)
{
string nm = dr["companyname"].ToString();
int id = Convert.ToInt16(dr["companyid"].ToString());
items[itemCounter] = new ToolStripMenuItem();
items[itemCounter].Name = string.Format("menuitem{0}", itemCounter);
items[itemCounter].Text = nm;
items[itemCounter].Click += new EventHandler(MenuItemClickHandler);
itemCounter++;
}
CompanyToolStripMenuItem.DropDownItems.AddRange(items);
Как только этот TLM заполнен, я хочу динамически добавлять элементы подменю к каждому из динамических c пункты меню, созданные выше. Я также создаю массив ToolStripMenuItems, как описано выше, и пытаюсь добавить их в пункт меню, используя это, показанное здесь для первого пункта меню:
CompanyToolStripMenuItem.DropDownItems[0].DropDownItems.AddRange(submenuitems);
Но это не работает. Есть идеи?
Когда я добавляю CompanyToolStripMenuItem.DropDownItems [0] в окно наблюдения, оно показывает свойство DropDownItems. Когда я пытаюсь ввести его, раскрывающийся список автозаполнения не предоставляет свойство как опцию.