C#无标题栏也要实现窗体拖动

来源:互联网 发布:php下载网源码 编辑:程序博客网 时间:2024/06/08 16:12
public partial class Form1 : Form  
    {  
         
  
        // 窗体的屏幕坐标  
        Point formPoint;  
  
        // 鼠标光标的屏幕坐标  
        Point mousePoint;  
  
        public Form1()  
        {  
            InitializeComponent();  
        }  
  
        //退出程序  
        private void btnExit_Click(object sender, EventArgs e)  
        {  
            Application.Exit();  
        }  
  
        //恢复标题栏  
        private void btn_RecoverCaption_Click(object sender, EventArgs e)  
        {  
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;  
        }  
  
        //去掉标题栏  
        private void btn_NoCaption_Click(object sender, EventArgs e)  
        {  
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;  
        }  
  
        //窗体按下时...  
        private void Form1_MouseDown(object sender, MouseEventArgs e)  
        {  
            // 获取窗体的屏幕坐标(x,y)  
            formPoint = this.Location;  
  
            // 获取鼠标光标的位置(屏幕坐标)  
            mousePoint = Control.MousePosition;  
              
        }  
  
        //鼠标在窗体移动时...  
        private void Form1_MouseMove(object sender, MouseEventArgs e)  
        {  
            if (e.Button == MouseButtons.Left)  
            {  
                //获取鼠标移动时的屏幕坐标  
                Point mousePos = Control.MousePosition;  
  
                //改变窗体位置  
                this.Location = new Point(formPoint.X+mousePos.X - mousePoint.X,  
                                          formPoint.Y+mousePos.Y - mousePoint.Y);  
            }  
        }  
    } 
0 0
原创粉丝点击