2012-07-27 55 views
4

好吧,我有一個名爲Form1.menuStrip1的MenuStrip。 Form1.menuStrip1有兩個項目水平地稱爲菜單和列表。我想要做的是將一個新的子菜單項添加到列表菜單。我有一個名爲mystring的字符串,我希望它是新項目的標題。如何將子菜單項添加到MenuStrip?

像這樣的事情

void AddItem(string mystring) 
{ 
    // add mystring 
} 
+3

一個好辦法能夠做到,你可以使用設計做什麼,是查看「YourForm.Designer.cs」中生成的代碼,並執行相同的操作。 – SidAhmed 2012-07-27 07:13:12

+0

好主意,謝謝。 – 2012-07-27 07:19:14

回答

0

類似的東西應該做你需要什麼

void AddItem(string mystring) 
{  
    ToolStripMenuItem item = new ToolStripMenuItem("Menu"); 
    item.Text = myString; 
    MainMenu.Items.Add(item); 
} 
+0

它增加了一個全新的mainmenu項目,我需要它添加到一個已經存在的主菜單的子菜單。 – 2012-07-27 07:18:50

12

這裏是樣品

ToolStripMenuItem fileToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); 
ToolStripMenuItem loadLogsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); 
fileToolStripMenuItem1.Name = "File"; 
loadLogsToolStripMenuItem1.Name ="Logs"; 

this.fileToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 
      this.loadLogsToolStripMenuItem1 
} 

,那麼你將不得不文件 - >日誌,如果你想要添加更多的子項目文件只需使用add.loadLogsToolStripMenuItem1後添加更多。

+0

你也可以使用Add來代替AddRange。 – 2016-01-30 06:38:21

-1

它始終是在設計器代碼。你應該只創建VS設計一個菜單和子菜單,並檢查設計師的代碼...

+0

如果用戶想要動態創建菜單,那麼他們可以。對於僅由設計人員創建的菜單沒有限制。 – 2015-04-08 13:52:51

+1

我的意思是,VS設計師的代碼也是實時代碼。它只是生成。你不能改變它。但你可以複製它,然後修改它。 – user3032525 2015-04-28 09:36:33

+0

在某些商業案例中,程序員可能需要在運行時修改或創建菜單。所以我不同意「你應該只」的一部分。我認爲你的意思是「你可以」而不是。 – 2016-01-30 06:33:49

相關問題