【发布时间】:2020-02-03 23:32:55
【问题描述】:
我有一个带有顶级菜单项(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[0] 添加到监视窗口时,它显示了“DropDownItems”属性。当我尝试输入它时,自动完成下拉菜单不会将该属性作为选项公开。
【问题讨论】:
-
((ToolStripMenuItem)CompanyToolStripMenuItem.DropDownItems[0]).DropDownItems.AddRange(submenuitems); -
除非您将其发布为答案,否则我无法将其标记为答案。