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