/// <summary> /// 绘制窗体的系统控制按钮 /// </summary> /// <param name="g">画板</param> /// <param name="rect">按钮所在的区域</param> /// <param name="image">图片</param> /// <param name="state">鼠标状态</param> private void DrawSysButton(Graphics g, Rectangle rect, Image image, EMouseState state) { Rectangle imageRect = Rectangle.Empty; switch (state) { case EMouseState.Normal: case EMouseState.MouseLeave: imageRect = new Rectangle(0, 0, rect.Width, rect.Height); break; case EMouseState.MouseMove: case EMouseState.MouseUp: imageRect = new Rectangle(rect.Width, 0, rect.Width, rect.Height); break; case EMouseState.MouseDown: imageRect = new Rectangle(rect.Width * 2, 0, rect.Width, rect.Height); break; } g.DrawImage(image, rect, imageRect, GraphicsUnit.Pixel); }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); Point point = e.Location; if (this._closeState != EMouseState.MouseDown) { if (this.CloseRect.Contains(point)) { this.CloseState = EMouseState.MouseMove; } else { this.CloseState = EMouseState.Normal; } } if (this._minState != EMouseState.MouseDown) { if (this.MiniRect.Contains(point)) { this.MinState = EMouseState.MouseMove; } else { this.MinState = EMouseState.Normal; } } if (this.SysButton == ESysButton.Normal && this._maxState != EMouseState.MouseDown) { if (this.MaxRect.Contains(point)) { this.MaxState = EMouseState.MouseMove; } else { this.MaxState = EMouseState.Normal; } } }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseMove。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (e.Button == MouseButtons.Left) { return; } Point point = e.Location; if (this.CloseRect.Contains(point)) { this.CloseState = EMouseState.Move; } else { this.CloseState = EMouseState.Normal; } if (this.MiniRect.Contains(point)) { this.MinState = EMouseState.Move; } else { this.MinState = EMouseState.Normal; } if (this.SysButton == ESysButton.Normal) { if (this.MaxRect.Contains(point)) { this.MaxState = EMouseState.Move; } else { this.MaxState = EMouseState.Normal; } } }
/// <summary> /// 引发 System.Windows.Forms.Control.MouseMove 事件。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); this.MouseState = EMouseState.Move; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseUp。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (e.Button != MouseButtons.Left) { return; } Point point = e.Location; //关闭 if (this.CloseRect.Contains(point)) { this.CloseState = EMouseState.Move; this.Close(); } else { this.CloseState = EMouseState.Normal; } if (this.MiniRect.Contains(point)) { this.SysMenuState = EMouseState.Move; } else { this.SysMenuState = EMouseState.Normal; } //最小化 if (this.MiniRect.Contains(point)) { this.MinState = EMouseState.Move; if (this.IsShowMinBox == true) { this.WindowState = FormWindowState.Minimized; } } else { this.MinState = EMouseState.Normal; } //最大化 if (this.MaxRect.Contains(point)) { this.MaxState = EMouseState.Move; if (this.WindowState == FormWindowState.Maximized) { this.Size = this._formSize; this.Location = this._formPoint; if (this.IsShowMaxBox == true) { this.WindowState = FormWindowState.Normal; } } else { if (this.IsShowMaxBox == true) { this.WindowState = FormWindowState.Maximized; } } } else { this.MaxState = EMouseState.Normal; } }
/// <summary> /// 绘画按钮 /// </summary> /// <param name="g">画板</param> /// <param name="mouseState">鼠标状态</param> /// <param name="rect">按钮区域</param> /// <param name="str">图片字符串</param> private void DrawButton(Graphics g, EMouseState mouseState, Rectangle rect, string str) { switch (mouseState) { case EMouseState.Normal: g.DrawImage(AssemblyHelper.GetImage("QQ.SysButton.btn_" + str + "_normal.png"), rect); break; case EMouseState.Move: case EMouseState.Up: g.DrawImage(AssemblyHelper.GetImage("QQ.SysButton.btn_" + str + "_highlight.png"), rect); break; case EMouseState.Down: g.DrawImage(AssemblyHelper.GetImage("QQ.SysButton.btn_" + str + "_down.png"), rect); break; } }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseEnter 事件。 /// </summary> /// <param name="e">包含事件数据的 System.EventArgs。</param> protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); this.MouseState = EMouseState.Move; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseDown 事件。 /// </summary> /// <param name="mevent">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseDown(MouseEventArgs mevent) { base.OnMouseDown(mevent); this.MouseState = EMouseState.Down; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseUp。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (this.TitleBarMenuRect.Contains(e.Location)) { this.TitleBarMenuState = EMouseState.Up; } }
public TabStripCloseButton(Rectangle bounds, EMouseState mouseState) { this._bounds = bounds; this._mouseState = mouseState; }
void BaseText_MouseMove(object sender, MouseEventArgs e) { this._mouseAll = EMouseState.MouseMove; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseLeave。 /// </summary> /// <param name="e">包含事件数据的 System.EventArgs。</param> protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); this.TitleBarMenuState = EMouseState.Leave; }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (!DesignMode && e.Button == MouseButtons.Left) { if (this.Items.Count > 0) { foreach (MetroItem item in this.Items) { if (item.Rectangle.Contains(e.Location)) { item.MouseState = EMouseState.Up; this.OnClickMetroFormItem(item, EventArgs.Empty); this.OpenProcess(item); } this.Invalidate(item.Rectangle); } } if (this.StartRect.Contains(e.Location)) { this._startState = EMouseState.Up; this.OnClickStart(this, EventArgs.Empty); this.Invalidate(this.StartRect); } this._mouseDown = false; } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (!DesignMode && !this._mouseDown) { if (this.Items.Count > 0) { foreach (MetroItem item in this.Items) { if (item.Rectangle.Contains(e.Location)) item.MouseState = EMouseState.Move; else item.MouseState = EMouseState.Leave; this.Invalidate(item.Rectangle); } } if (this.StartRect.Contains(e.Location)) { this._startState = EMouseState.Move; this.Invalidate(this.StartRect); } else { this._startState = EMouseState.Leave; this.Invalidate(this.StartRect); } } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); if (!DesignMode && this.Items.Count > 0) { foreach (MetroItem item in this.Items) { if (item.MouseState != EMouseState.Leave) { item.MouseState = EMouseState.Leave; this.Invalidate(item.Rectangle); } } if (this._startState != EMouseState.Leave) { this._startState = EMouseState.Leave; this.Invalidate(this.StartRect); } } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (!DesignMode && e.Button == MouseButtons.Left) { if (this.Items.Count > 0) { foreach (MetroItem item in this.Items) { if (item.Rectangle.Contains(e.Location)) { item.MouseState = EMouseState.Down; this._mouseDown = true; } this.Invalidate(item.Rectangle); } } if (this.StartRect.Contains(e.Location)) { this._mouseDown = true; this._startState = EMouseState.Down; this.Invalidate(this.StartRect); } } }
internal TabStripMenuGlyph(Rectangle bounds, EMouseState mouseState) { this._bounds = bounds; this._mouseState = mouseState; }
/// <summary> /// 引发 System.Windows.Forms.Control.MouseUp 事件。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); this.MouseState = EMouseState.Up; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseMove。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (this.TitleBarMenuRect.Contains(e.Location) && this._titleBarMenuState != EMouseState.Down) { this.TitleBarMenuState = EMouseState.Move; } }
/// <summary> /// 引发 System.Windows.Forms.Control.MouseDown 事件。 /// </summary> /// <param name="e">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); this.MouseState = EMouseState.Down; }
/// <summary> /// 绘制窗体的系统控制按钮 /// </summary> /// <param name="g">画板</param> /// <param name="rect">按钮所在的区域</param> /// <param name="image">图片</param> /// <param name="state">鼠标状态</param> private void DrawSysButton(Graphics g, Rectangle rect, Image image, EMouseState state) { Rectangle imageRect = Rectangle.Empty; switch (state) { case EMouseState.Normal: case EMouseState.Leave: imageRect = new Rectangle(0, 0, rect.Width, rect.Height); break; case EMouseState.Move: case EMouseState.Up: imageRect = new Rectangle(rect.Width, 0, rect.Width, rect.Height); break; case EMouseState.Down: imageRect = new Rectangle(rect.Width * 2, 0, rect.Width, rect.Height); break; } g.DrawImage(image, rect, imageRect, GraphicsUnit.Pixel); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BaseText_MouseLeave(object sender, EventArgs e) { this.MouseState = EMouseState.Leave; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BaseText_MouseMove(object sender, MouseEventArgs e) { this.MouseState = EMouseState.Move; }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); this.MouseState = EMouseState.Leave; this.Cursor = Cursors.Default; }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseLeave 事件。 /// </summary> /// <param name="e">包含事件数据的 System.EventArgs。</param> protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); this.MouseState = EMouseState.Leave; }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); this.MouseState = EMouseState.Move; if (this._icon != null && this.IconRect.Contains(e.Location)) { if (this._iconIsButton) this.Cursor = Cursors.Hand; else this.Cursor = Cursors.Default; } }
/// <summary> /// 引发 System.Windows.Forms.Form.MouseUp 事件。 /// </summary> /// <param name="mevent">包含事件数据的 System.Windows.Forms.MouseEventArgs。</param> protected override void OnMouseUp(MouseEventArgs mevent) { base.OnMouseUp(mevent); this.MouseState = EMouseState.Up; }