示例#1
0
 /// <summary>
 /// Raises the MouseUp event.
 /// </summary>
 /// <param name="e">A MouseEventArgs that contains data about the OnMouseUp event.</param>
 protected override void OnMouseUp(MouseEventArgs e)
 {
     if (CaptionRectangle.Contains(e.X, e.Y))
     {
         if ((ShowCloseIcon == false) && (ShowExpandIcon == false))
         {
             OnExpandClick(this, EventArgs.Empty);
         }
         else if (ShowCloseIcon && (ShowExpandIcon == false))
         {
             if (RectangleCloseIcon.Contains(e.X, e.Y) == false)
             {
                 OnExpandClick(this, EventArgs.Empty);
             }
         }
         if (ShowExpandIcon)
         {
             if (RectangleExpandIcon.Contains(e.X, e.Y))
             {
                 OnExpandClick(this, EventArgs.Empty);
             }
         }
         if (ShowCloseIcon && _bIsClosable)
         {
             if (RectangleCloseIcon.Contains(e.X, e.Y))
             {
                 OnCloseClick(this, EventArgs.Empty);
             }
         }
     }
 }
示例#2
0
        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);

            if (Movable && WindowState != FormWindowState.Maximized &&
                e.Button == MouseButtons.Left && CaptionRectangle.Contains(e.Location))
            {
                MoveControl();
            }
        }
示例#3
0
        private WinApi.HitTest HitTestNCA(IntPtr hwnd, IntPtr wparam, IntPtr lparam)
        {
            Point pc = PointToClient(new Point((int)lparam));

            if (Resizable && SizeGripRectangle.Contains(pc))
            {
                return(WinApi.HitTest.HTBOTTOMRIGHT);
            }
            if (CaptionRectangle.Contains(pc))
            {
                return(WinApi.HitTest.HTCAPTION);
            }
            return(WinApi.HitTest.HTCLIENT);
        }
示例#4
0
 protected override void OnMouseMove(MouseEventArgs e)
 {
     if (CaptionRectangle.Contains(e.X, e.Y))
     {
         if (m_hoverStateCaptionBar == HoverState.None)
         {
             m_hoverStateCaptionBar = HoverState.Hover;
             OnCaptionBarHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateCaptionBar));
         }
     }
     else if (m_hoverStateCaptionBar == HoverState.Hover)
     {
         m_hoverStateCaptionBar = HoverState.None;
         OnCaptionBarHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateCaptionBar));
     }
     if (ShowExpandIcon || ShowCloseIcon)
     {
         if (RectangleExpandIcon.Contains(e.X, e.Y))
         {
             if (m_hoverStateExpandIcon == HoverState.None)
             {
                 m_hoverStateExpandIcon = HoverState.Hover;
                 OnExpandIconHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateExpandIcon));
             }
         }
         else if (m_hoverStateExpandIcon == HoverState.Hover)
         {
             m_hoverStateExpandIcon = HoverState.None;
             OnExpandIconHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateExpandIcon));
         }
         if (RectangleCloseIcon.Contains(e.X, e.Y))
         {
             if (m_hoverStateCloseIcon == HoverState.None)
             {
                 m_hoverStateCloseIcon = HoverState.Hover;
                 OnCloseIconHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateCloseIcon));
             }
         }
         else if (m_hoverStateCloseIcon == HoverState.Hover)
         {
             m_hoverStateCloseIcon = HoverState.None;
             OnCloseIconHoverStateChanged(this, new HoverStateChangeEventArgs(m_hoverStateCloseIcon));
         }
     }
     base.OnMouseMove(e);
 }
示例#5
0
 public virtual void OnMouseDown(MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         isPushed = ButtonRectangle.Contains(e.X, e.Y);
         if (!isPushed && e.Clicks == 2 && CaptionRectangle.Contains(e.X, e.Y))
         {
             // ダブルクリックで閉じる
             IsCollapsed = !IsCollapsed;
         }
         else if (this.CaptionRectangle.Contains(e.Location))
         {
             dragPt = e.Location;
             isDrag = true;
         }
     }
     else
     {
         isPushed = false;
     }
 }