C# WinForm 窗體移動事件實現


C# WinForm的FormBorderStyle設置為none,運行時窗體無法隨鼠標移動,可以通過下面三個事件實現:

#region  拖動窗體的實現

        private Point mouseOff;//鼠標移動位置變量
        private bool leftFlag;//標簽是否為左鍵
        private void FrmMain_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseOff = new Point(-e.X, -e.Y); //得到變量的值
                leftFlag = true;                  //點擊左鍵按下時標注為true;
            }
        }
        private void FrmMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                Point mouseSet = Control.MousePosition;
                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //設置移動后的位置
                Location = mouseSet;
            }
        }
        private void FrmMain_MouseUp(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                leftFlag = false;//釋放鼠標后標注為false;
            }
        }

        #endregion

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM