ToolStripSplitButton行为覆盖

时间:2011-02-03 12:05:14

标签: winforms toolstripdropdown

我试图理解如果你使用这个构造函数,我必须做什么来覆盖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属性/方法可以做到这一点?

谢谢

1 个答案:

答案 0 :(得分:9)

ToolStripSplitButton有两个点击处理程序。一个叫做“Click”,另一个叫做“ButtonClick”。构造函数中的一个是“Click”处理程序,无论您在哪个控件上单击,它都会触发。 “ButtonClick”处理程序仅在您单击按钮本身而不是箭头时触发。

试试这个:

var button = new ToolStripSplitButton("text","path to image");
button.ButtonClick += clickEventHandler;