我有一个带有顶级菜单项(TLM项)的c#菜单条。我正在动态地向其中一个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后,我希望将子菜单项动态添加到上面创建的每个动态菜单项中。类似地,我创建了一个如上所述的ToolStripMenuItems数组,并尝试使用下面的代码将它们添加到菜单项中,如下所示为第一个菜单项:
CompanyToolStripMenuItem.DropDownItems[0].DropDownItems.AddRange(submenuitems);但它不起作用。有什么想法吗?
当我向监视窗口添加CompanyToolStripMenuItem.DropDownItems时,它显示了一个"DropDownItems“属性。当我尝试键入它时,自动完成下拉菜单不会将该属性显示为一个选项。
发布于 2020-02-03 23:31:28
尝试将选定的DropDownItem项目转换为ToolStripMenuItem:
((ToolStripMenuItem)CompanyToolStripMenuItem.
DropDownItems[0]).DropDownItems.AddRange(submenuitems);https://stackoverflow.com/questions/59993720
复制相似问题