2013-07-10 95 views
0

我有一個ToolTop控件裏面,我添加一些ToolStripMenuItem。對於每個ToolStripMenuItem,我想要一個子菜單(如關閉)。並且單擊子菜單應顯示的任何ToolStripMenuItem上的鼠標右鍵。想要鼠標右鍵單擊ToolStripMenuItem - C#

ToolStripMenuItem subMenuitem1 = new ToolStripMenuItem("Close"); 
items.DropDownItems.Add(subMenuitem1); 

但這不起作用。 請給我一些建議。 謝謝

回答

3

什麼是「items」對象?

添加子菜單:

// new menu, if you're using designer you should have it already 
ContextMenuStrip mnu = new ContextMenuStrip(); 

// new tool strip item 
ToolStripMenuItem mnuItem1 = new ToolStripMenuItem(); 
mnuItem1.Text = "Some text 1"; 
mnuItem1.Name = "mnuItem1"; 

// new submenu item 
ToolStripMenuItem mnuItem2 = new ToolStripMenuItem(); 
mnuItem2.Text = "Some text 2"; 
mnuItem2.Name = "mnuItem2"; 

// connect them... 
mnuItem1.DropDownItems.Add(mnuItem2); 
mnu.Add(mnuItem1); 

現在是訂閱事件的問題。

您希望子菜單出現在鼠標右鍵單擊上。通常,當鼠標懸停在具有子菜單的項目上時,它會出現。所以如果你按照你的方式設置,我想你必須在右鍵單擊主toolStripItem時手動添加它。

ToolStripMenuItem沒有MouseClick事件。您可以記住在MouseDown事件中單擊了哪個鼠標按鈕,然後在Click事件中處理它。

另外,您應該記住將ToolStripMenuItem的一個實例多次添加到一個菜單中,或者將相同的項目添加到多個菜單中將不起作用。您每次都必須創建新項目。

+1

感謝兄弟。我會試試這個。 –

+1

謝謝...此代碼可以幫助很多..! :) –

相關問題