我试图了解我必须做什么才能覆盖 ToolStripDropDown
上的 System.Windows.Forms
控件的行为,如果您使用此构造函数:
var button = new ToolStripSplitButton("text","path to image", clickEventHandler)
那么下拉菜单只会显示我是否按住鼠标并且如果我使用其他
var button = new ToolStripSplitButton("text","path to image")
然后当我点击时下拉菜单会显示出来。
我很清楚,提供点击事件处理程序在说“嘿,当我点击时执行这个”是非常明确的,但在
ToolStripSplitButton
的情况下,由于控件本身的拆分性质,这种区别有点模糊。所以,我喜欢做的是
a) 当用户点击
ToolStripSplitButton
的按钮部分时,点击事件处理程序正常执行b) 当我在
ToolStripSplitButton
的箭头部分单击或按下鼠标时,下拉显示是否有任何 OOB 属性/方法可以做到这一点?
谢谢
最佳答案
ToolStripSplitButton 有两个点击处理程序。一种称为“单击”,另一种称为“按钮单击”。构造函数中的一个是“Click”处理程序,无论您单击控件上的哪个位置都会触发。 “ButtonClick”处理程序仅在您单击按钮本身而不是箭头时触发。
试试这个:
var button = new ToolStripSplitButton("text","path to image");
button.ButtonClick += clickEventHandler;
关于winforms - ToolStripSplitButton 行为覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4885909/