public CustomButton() { InitializeComponent(); BackColor = NormalBackgroundColor; label.MouseEnter += (s, e) => { mouseHover = true; ApplyColors(); OnMouseEnter?.Invoke(); }; label.MouseLeave += (s, e) => { mouseHover = false; ApplyColors(); OnMouseLeave?.Invoke(); }; label.MouseDown += (s, e) => { mouseDown = true; ApplyColors(); OnMouseDown?.Invoke(); }; label.MouseUp += (s, e) => { mouseDown = false; ApplyColors(); OnMouseUp?.Invoke(); }; label.Click += (s, e) => { OnClick?.Invoke(); }; }
protected override void OnMouseDown(MouseButtonEventArgs e) { base.OnMouseDown(e); if (mouseDelegate != null) { mouseDelegate.Invoke(e); } }
/// <inheritdoc /> public override bool OnMouseDoubleClick(Vector2 location, MouseButton buttons) { // Fire events if (buttons == MouseButton.Left) { MouseLeftDoubleClick?.Invoke(this, location); } else if (buttons == MouseButton.Right) { MouseRightDoubleClick?.Invoke(this, location); } return(true); }
/// <inheritdoc /> public override bool OnMouseDoubleClick(Vector2 location, MouseButton button) { // Fire events if (button == MouseButton.Left) { if (MouseLeftDoubleClick != null) { MouseLeftDoubleClick.Invoke(this, location); return(true); } } else if (button == MouseButton.Right) { if (MouseRightDoubleClick != null) { MouseRightDoubleClick.Invoke(this, location); return(true); } } return(base.OnMouseDoubleClick(location, button)); }