Use right-click with Windows Forms Button
我正在编写一个应用程序,用户应该能够在其中更改按钮的操作。
用户应该右键单击一个按钮,然后从弹出的上下文菜单中选择一个选项。一旦做出选择,当用户使用正常点击时,按钮将执行不同的操作。
我已经让 "Click" 事件用于正常的按钮单击,但是 "MouseClick" 事件处理程序无法正常工作。
"MouseClick" 事件会在常规左键单击时激活,但不会在右键单击时调用。
是否正在执行一些忽略右键单击的默认事件处理?
很抱歉,这将是一个严重的 UI 漏洞。也许在按钮旁边添加一个小组合框会更有意义。
也许是这样的?
http://www.codeproject.com/KB/buttons/SplitButton.aspx
当然最好在 MouseDown 事件而不是 MouseUp 事件上实现它。我不明白这与 MouseClick 事件有多大不同
edit: 刚试过这个,效果很好:)
如果您想显示一个带有可供选择的操作的上下文菜单,则将
在 Button(和某些其他控件)中,仅对左按钮触发 MouseClick 事件。请参阅 MSDN。
如果您想了解右键,请响应 MouseUp 事件——尽管正如其他发帖者指出的那样,这不是一个很好的 UI 习惯用法。
使用 Mouse UP 事件...测试 Button.X 和 Button.Y 是否在按钮的大小范围内,否则您已将鼠标从按钮上移开。
特里 G