第一种不对((ToolStripDropDownMenu)this.Controls.Find("菜单次三ToolStripMenuItem", false)[0]).Enabled = false;
第二种也不对((ToolStripMenuItem)this.Controls.Find("菜单次三ToolStripMenuItem", false)[0]).Enabled = false;
控件子项到底是什么类型,从哪里找?
ToolStripMenuItem类型不属于当前Form的控件集合的,只有它所属于的MenuStrip才会被添加到当前窗体的控件集合
ToolStripMenuItem对象只属于MenuStrip其中的一个子级项目
楼主如果需要查找ToolStripMenuItem类型对象,需要编写特定的查找逻辑
如下:
private object FindControl(Control control, string findControlName)
{
object ret = null;
foreach (Control c in control.Controls)
{
if (c.Name == findControlName)
{
return c;
}
else if (c is MenuStrip)
{
ret = FindToolStripMenuItem(c as MenuStrip, findControlName);
if (ret != null)
{
return ret;
}
}
else
{
ret = FindControl(c, findControlName);
if (ret != null)
{
return ret;
}
}
}
return ret;
}
然后在方法FindToolStripMenuItem中查找传入参数c的Items,最后使用递归查询.
不知道啊!