protected override void OnMouseLeave(EventArgs ea) { base.OnMouseLeave(ea); ControlState = ControlStateEnum.Normal; this.Invalidate(); }
protected override void OnMouseEnter(EventArgs ea) { base.OnMouseEnter(ea); ControlState = ControlStateEnum.Hover; this.Invalidate(); }
protected override void OnMouseDown(MouseEventArgs mea) { base.OnMouseDown(mea); if (mea.Button == MouseButtons.Left) { bCanClick = true; ControlState = ControlStateEnum.Pressed; this.Invalidate(); } }
protected override void OnClick(EventArgs ea) { this.Capture = false; bCanClick = false; if (this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition))) { ControlState = ControlStateEnum.Hover; } else { ControlState = ControlStateEnum.Normal; } this.Invalidate(); base.OnClick(ea); }
protected override void OnMouseMove(MouseEventArgs mea) { base.OnMouseMove(mea); if (ClientRectangle.Contains(mea.X, mea.Y)) { if (ControlState == ControlStateEnum.Hover && this.Capture && !bCanClick) { bCanClick = true; ControlState = ControlStateEnum.Pressed; this.Invalidate(); } } else { if (ControlState == ControlStateEnum.Pressed) { bCanClick = false; ControlState = ControlStateEnum.Hover; this.Invalidate(); } } }
protected override void OnEnabledChanged(EventArgs ea) { base.OnEnabledChanged(ea); ControlState = ControlStateEnum.Normal; this.Invalidate(); }