我试图理解如果你使用这个构造函数,我必须做什么来覆盖ToolStripDropDown
System.Windows.Forms
控件的行为:
var button = new ToolStripSplitButton("text","path to image", clickEventHandler)
然后下拉列表只会显示我是否按下鼠标,如果我使用其他
var button = new ToolStripSplitButton("text","path to image")
然后点击时会显示下拉列表。
我很清楚,提供点击事件处理程序非常明确地说“嘿,当我点击,执行此操作”但是在ToolStripSplitButton
的情况下,由于分裂性质,区别有点模糊控制本身。
所以,我喜欢做的是
a)当用户点击ToolStripSplitButton
的按钮部分时,click事件处理程序正常执行
b)当我点击或按下ToolStripSplitButton
的箭头部分上的鼠标时,下拉列表显示
是否有任何OOB属性/方法可以做到这一点?
谢谢
答案 0 :(得分:9)
ToolStripSplitButton有两个点击处理程序。一个叫做“Click”,另一个叫做“ButtonClick”。构造函数中的一个是“Click”处理程序,无论您在哪个控件上单击,它都会触发。 “ButtonClick”处理程序仅在您单击按钮本身而不是箭头时触发。
试试这个:
var button = new ToolStripSplitButton("text","path to image");
button.ButtonClick += clickEventHandler;