C#中无边框窗体移动

来源:互联网 发布:淘宝修改店铺名称 编辑:程序博客网 时间:2024/05/21 22:59

拖动无边框窗体Form至桌面任何位置

首先建一个Windows应用程序
将Form1的 FormBorderStyle属性设置为Noe

        Point mouseOff;//鼠标移动位置变量
        bool leftFlag;//标签是否为左键
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            
if (e.Button == MouseButtons.Left)
            {
                mouseOff 
= new Point(-e.X, -e.Y); //得到变量的值
                leftFlag = true;                  //点击左键按下时标注为true;
            }
        }

        
private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            
if (leftFlag)
            {
                Point mouseSet 
= Control.MousePosition;
                mouseSet.Offset(mouseOff.X, mouseOff.Y);  
//设置移动后的位置
                Location = mouseSet;
            }
        }

        
private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            
if (leftFlag)
            {
                leftFlag 
= false;//释放鼠标后标注为false;
            }
        }


好了,这样就可以达到,拖动窗体至桌面任何位置。

原创粉丝点击