protected static string GetButtonBackgroundTextureId( string prefix, ButtonMouseState state, bool active) { string ret = prefix + MENU_BUTTON_BACKGROUND; switch (state) { case ButtonMouseState.Base: { ret += MENU_BUTTON_BASE; break; } case ButtonMouseState.Hovered: { ret += MENU_BUTTON_HOVERED; break; } case ButtonMouseState.MouseDown: { ret += MENU_BUTTON_MOUSEDOWN; break; } } ret += active ? MENU_BUTTON_ACTIVE : MENU_BUTTON_DEFAULT; return(ret); }
public RegisterBox() { _imageDisabled = null; _imageDown = null; _imageNormal = null; _imageOver = null; _icon = null; _buttonMouseState = ButtonMouseState.Normal; _buttonStyle = ButtonStyle.Standard; _controlRegion = ControlRegion.RoundedRectangle; _iconSize = new Size(32, 32); _buttonArrow = ButtonArrow.None; BackColor = Color.Transparent; UseVisualStyleBackColor = false; this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true); this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); this.SetStyle(ControlStyles.Selectable, false); this.Refresh(); }
protected override void OnMouseUp(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (Parent.GetChildAtPoint(new Point(Left + e.X, Top + e.Y)) == this) { _buttonMouseState = ButtonMouseState.Over; } else { _buttonMouseState = ButtonMouseState.Normal; } this.Refresh(); } base.OnMouseUp(e); }
protected override void OnMouseMove(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ButtonMouseState s = _buttonMouseState; if (Parent.GetChildAtPoint(new Point(Left + e.X, Top + e.Y)) == this) { _buttonMouseState = ButtonMouseState.Down; } else { _buttonMouseState = ButtonMouseState.Normal; } if (s != _buttonMouseState) this.Refresh(); } base.OnMouseMove(e); }
protected override void OnMouseLeave(EventArgs e) { _buttonMouseState = ButtonMouseState.Normal; this.Refresh(); base.OnMouseLeave(e); }
protected override void OnMouseEnter(EventArgs e) { _buttonMouseState = ButtonMouseState.Over; this.Refresh(); base.OnMouseEnter(e); }
protected override void OnMouseDown(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { _buttonMouseState = ButtonMouseState.Down; this.Refresh(); } base.OnMouseDown(e); }