diff --git a/Terminal.Gui/Views/Button.cs b/Terminal.Gui/Views/Button.cs index df253667b..7ed27082e 100644 --- a/Terminal.Gui/Views/Button.cs +++ b/Terminal.Gui/Views/Button.cs @@ -203,29 +203,19 @@ namespace Terminal.Gui { /// public Action Clicked; - /// - /// Method invoked when a mouse event is generated - /// - /// - /// true, if the event was handled, false otherwise. - public override bool OnMouseEvent (MouseEvent mouseEvent) + /// + public override bool MouseEvent (MouseEvent me) { - MouseEventArgs args = new MouseEventArgs (mouseEvent); - MouseClick?.Invoke (args); - if (args.Handled) - return true; - if (MouseEvent (mouseEvent)) - return true; - - - if (mouseEvent.Flags == MouseFlags.Button1Clicked || mouseEvent.Flags == MouseFlags.Button1DoubleClicked || - mouseEvent.Flags == MouseFlags.Button1TripleClicked) { - if (!HasFocus && SuperView != null) { - SuperView.SetFocus (this); - SetNeedsDisplay (); + if (me.Flags == MouseFlags.Button1Clicked || me.Flags == MouseFlags.Button1DoubleClicked || + me.Flags == MouseFlags.Button1TripleClicked) { + if (CanFocus) { + if (!HasFocus) { + SuperView?.SetFocus (this); + SetNeedsDisplay (); + } + Clicked?.Invoke (); } - Clicked?.Invoke (); return true; } return false;