2017-06-07 54 views
0

首先感謝您的時間!我希望你能幫助我=/C# - Menustrip-檢查是否存在父,並獲得對它們引用

我有一個MenuStrip中,我想動態添加的項目。

我想要做什麼: 如果具有完全相同的名稱的Partent已經存在的童車應添加到此父,而不是創建一個新的父(MenuStripItem)具有相同的名稱。我的代碼當前檢查父級是否已經存在(哪些工作正常),但問題是我不能得到對這個父級的引用 - > firstItem = var不工作 - >不能工作將ToolStripItem轉換爲ToolStripMenuItem ...並且改變在「與firstItem」來的ToolStripItem給了我一個錯誤,因爲我不能使用「firstItem.DropDownItems.Add(爲child);」以後再添加一個孩子...

 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); } 
    } 

感謝提前!

回答

1

ToolStripMenuItem是從ToolStripItem一類(未直接)表示頂層菜單項,並導出。

因此檢索父菜單項,你可以使用強制轉換:

foreach (var item in parents) 
{ 
    MessageBox.Show("FOUND" + item.Name); 
    firstItem = item as ToolStripMenuItem; 
    alreadyexists = true; 
    // break; 
} 
+0

得到它!謝謝!!!祝你今天愉快 – christian890

相關問題