2013-10-27 68 views

回答

2

每個ToolStripDropDownItem具有參照下,當鼠標在物品上懸停將被示出的下降稱爲DropDown(的ToolStripDropDown類型)的屬性。 ToolStripDropDown有一個名爲Opening的事件,它允許您輕鬆取消下拉菜單。使用下面的代碼,都可以在你的窗體構造函數中設置:

//Suppose the item you want to suppress automatically showing 
//the drop down is item1 
bool clicked = false; 
item1.DropDown.Opening += (s,e) => { 
    e.Cancel = !clicked; 
    clicked = false; 
}; 
item1.Click += (s,e) => { 
    clicked = true; 
    item1.ShowDropDown(); 
}; 
//The code above disables the automatic dropping-down 
//and shows the drop down by clicking on the item1. 
+0

完美的作品,謝謝! 我注意到一些我從未見過的語法。我是新來的C#。我想這是一種重寫方法的C#?我會谷歌,瞭解更多。 – MrVimes

+0

@MrVimes我使用的語法被稱爲'lambda表達式',它只是一個方便的方式來輕鬆地構建'delegate',代碼只是用來註冊'Opening'和'Click'事件處理程序。它不是'override',爲了覆蓋你必須從基類創建一些類繼承,並覆蓋那裏的基類方法。 –