Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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;
                }
            }
        }
Esempio n. 3
0
        /// <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;
                }
            }
        }
Esempio n. 4
0
 /// <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;
 }
Esempio n. 5
0
        /// <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;
            }
        }
Esempio n. 6
0
 /// <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;
     }
 }
Esempio n. 7
0
 /// <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;
 }
Esempio n. 8
0
 /// <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;
 }
Esempio n. 9
0
 /// <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;
     }
 }
Esempio n. 10
0
 public TabStripCloseButton(Rectangle bounds, EMouseState mouseState)
 {
     this._bounds     = bounds;
     this._mouseState = mouseState;
 }
Esempio n. 11
0
 void BaseText_MouseMove(object sender, MouseEventArgs e)
 {
     this._mouseAll = EMouseState.MouseMove;
 }
Esempio n. 12
0
 /// <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;
 }
Esempio n. 13
0
 /// <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;
     }
 }
Esempio n. 14
0
 /// <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);
         }
     }
 }
Esempio n. 15
0
 /// <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);
         }
     }
 }
Esempio n. 16
0
 /// <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);
         }
     }
 }
Esempio n. 17
0
 internal TabStripMenuGlyph(Rectangle bounds, EMouseState mouseState)
 {
     this._bounds = bounds;
     this._mouseState = mouseState;
 }
Esempio n. 18
0
 internal TabStripMenuGlyph(Rectangle bounds, EMouseState mouseState)
 {
     this._bounds     = bounds;
     this._mouseState = mouseState;
 }
Esempio n. 19
0
 /// <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;
 }
Esempio n. 20
0
 /// <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;
     }
 }
Esempio n. 21
0
 /// <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;
 }
Esempio n. 22
0
 /// <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);
 }
Esempio n. 23
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void BaseText_MouseLeave(object sender, EventArgs e)
 {
     this.MouseState = EMouseState.Leave;
 }
Esempio n. 24
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void BaseText_MouseMove(object sender, MouseEventArgs e)
 {
     this.MouseState = EMouseState.Move;
 }
Esempio n. 25
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="e"></param>
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     this.MouseState = EMouseState.Leave;
     this.Cursor = Cursors.Default;
 }
Esempio n. 26
0
 /// <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;
 }
Esempio n. 27
0
 /// <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;
     }
 }
Esempio n. 28
0
 /// <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;
 }
 public TabStripCloseButton(Rectangle bounds, EMouseState mouseState)
 {
     this._bounds = bounds;
     this._mouseState = mouseState;
 }