C# 向子菜单动态添加子菜单项
我有一个带有顶级菜单项(TLM项)的c#菜单条。我正在动态地向其中一个TLM项目添加项目,如下所示,这非常有效C# 向子菜单动态添加子菜单项,c#,winforms,C#,Winforms,我有一个带有顶级菜单项(TLM项)的c#菜单条。我正在动态地向其中一个TLM项目添加项目,如下所示,这非常有效 DataRowCollection DRC = DataAccessClass.GetData("SELECT * FROM company ORDER BY CompanyName"); ToolStripMenuItem[] items = new ToolStripMenuItem[DRC.Count]; int itemCounter = 0; foreach (DataRow
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:
((ToolStripMenuItem)CompanyToolStripMenuItem.
DropDownItems[0]).DropDownItems.AddRange(submenuitems);
((ToolStripMenuItem)CompanyToolStripMenuItem.DropDownItems[0]).DropDownItems.AddRange(子菜单项)代码>除非您将其作为答案发布,否则我无法将其标记为答案。