C#中无边框窗体移动

拖动无边框窗体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;
            }
        }


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

你可能感兴趣的:(C#)