码迷,mamicode.com
首页 > 移动开发 > 详细

C# WinForm 窗体移动事件实现

时间:2020-06-26 16:38:26      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:运行时   窗体移动   obj   eve   cat   flag   form   object   void   

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

  

C# WinForm 窗体移动事件实现

标签:运行时   窗体移动   obj   eve   cat   flag   form   object   void   

原文地址:https://www.cnblogs.com/pandora2050/p/13194959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!