點擊panel移動窗體

        //移動窗體參數
        bool beginMove = false;
        int currentXPosition;
        int currentYPosition;
        private void panel_up_button_MouseDown(object sender, MouseEventArgs e)
        {
            beginMove = true;
            currentXPosition = MousePosition.X;
            currentYPosition = MousePosition.Y;
            this.Refresh();
        }

        private void panel_up_button_MouseLeave(object sender, EventArgs e)
        {
            //設置初始狀態  
            currentXPosition = 0;
            currentYPosition = 0;
            beginMove = false;
        }

        private void panel_up_button_MouseMove(object sender, MouseEventArgs e)
        {
            if (beginMove)
            {
                //根據鼠標X座標確定窗體X座標  
                this.Left += MousePosition.X - currentXPosition;
                //根據鼠標Y座標確定窗體Y座標  
                this.Top += MousePosition.Y - currentYPosition;
                currentXPosition = MousePosition.X;
                currentYPosition = MousePosition.Y;
            }
        }

        private void panel_up_button_MouseUp(object sender, MouseEventArgs e)
        {
            beginMove = false;
        }

第二種方法

        Point mouseOff;//鼠標移動位置變量
        bool leftFlag;//標籤是否爲左鍵 
        private void panel_up_button_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseOff = new Point(-e.X, -e.Y); //得到變量的值
                leftFlag = true;                  //點擊左鍵按下時標註爲true;
            }

        }

        private void panel_up_button_MouseMove(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                Point mouseSet = Control.MousePosition;
                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //設置移動後的位置
                Location = mouseSet;
            }

        }

        private void panel_up_button_MouseUp(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                leftFlag = false;//釋放鼠標後標註爲false;
            }

        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章