2009-07-14 83 views
2

我正在编写一个应用程序,用户应该能够更改按钮的操作。使用右键单击Windows窗体按钮

用户应该右键单击一个按钮,然后从弹出的上下文菜单中选择一个选项。一旦做出选择,当用户使用正常点击时,按钮将执行不同的操作。

我已经得到了“单击”事件工作的正常按钮单击,但“MouseClick”事件处理程序无法正常工作。

“MouseClick”事件在常规左键单击时被激活,但从未被调用右键单击。

是否存在一些忽略该右键单击的默认事件处理?

回答

2

如果您想要显示一个上下文菜单并带有可供选择的操作,则该菜单应足以将ContextMenuStrip指定给ContextMenuStrip属性。通常不需要手动处理鼠标事件。

+0

另一个SO帖子可能有些用处:http://stackoverflow.com/questions/1044883/custom-user-control-in-c-right-click-menu-to-copy-text-java -developer-learnin – northpole 2009-07-14 19:37:29

+1

谢谢。我将使用这种方法。作为一个侧面说明,我只是发现“MouseUp”事件是我应该看到的。 – 2009-07-14 19:41:27

2

在Button(和某些其他控件)中,MouseClick事件仅针对左按钮触发。请参阅MSDN

如果您想了解正确的按钮,请回复MouseUp事件 - 尽管正如其他海报所指出的那样,这不是一个很棒的UI习惯用法。

3

当然最好在MouseDown事件而不是MouseUp事件上实现它。我不明白这是怎么从MouseClick事件太大的不同

编辑:只是尝试这样做,它的工作原理治疗:)

0

用鼠标UP事件......测试Button.X和Button.Y不到按钮的大小,否则您已将鼠标移离按钮。 Terry G