C# 向子菜单动态添加子菜单项

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

我有一个带有顶级菜单项(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:

((ToolStripMenuItem)CompanyToolStripMenuItem.
    DropDownItems[0]).DropDownItems.AddRange(submenuitems);

((ToolStripMenuItem)CompanyToolStripMenuItem.DropDownItems[0]).DropDownItems.AddRange(子菜单项)除非您将其作为答案发布,否则我无法将其标记为答案。