首先感谢您的时间!希望您能帮助我=/
我有一个Menustrip,我想动态添加项目。
我想做的:如果已经存在完全相同名称的部分,则应将孩子添加到此父母,而是创建具有相同名称的新父(Menustripitem(。
我的代码当前确实检查了父是否已经存在(这可以正常工作(,但是问题是我无法引用此父 -> firstItem = var不起作用 ->无法将toolstripitem转换为toolstripmenuitem ..." firstItem"到woolstripitem给了我一个错误,因为我不能使用" firstitem.dropdownitems.add(with forchild(;"再添加一个孩子...
private void AddNewMenuStrips(string [,] NewMenuStripInfo)
{
ToolStripMenuItem firstItem;
bool alreadyexists = false;
string someItem = "Settings"; // the parent im looking for
var items = menuStrip2.Items.Find(someItem+"ToolStripMenuItem",false); //here it checks if parent already exists. Which Works but i cant get the reference of the parent to "firstItem"
foreach (var item in items)
{
MessageBox.Show("FOUND"+item.Name);
firstItem = var; // ERROR cant convert ToolStripItem to ToolStripMenuItem
alreadyexists=true;
}
if (alreadyexists == false) { firstItem = new ToolStripMenuItem(someItem); }
}
预先感谢!
ToolStripMenuItem
是一个代表顶级菜单项并从ToolStripItem
派生(不是直接(的类。
因此,要检索父菜单项,您可以使用铸件:
foreach (var item in parents)
{
MessageBox.Show("FOUND" + item.Name);
firstItem = item as ToolStripMenuItem;
alreadyexists = true;
// break;
}