C#窗体设计:[7]移动窗体

2025-10-19 02:49:48

1、新建一个C#应用程序,应用程序命名为Move。

C#窗体设计:[7]移动窗体

2、窗体界面设计如下,窗体的FormBorderStyle属性设置为None:

C#窗体设计:[7]移动窗体

3、程序初始化如下:

bool mov = false;//初始化

        int xpos;

        int ypos;

在窗体的MouseDown事件中添加一下代码:

        private void Form1_MouseDown(object sender, MouseEventArgs e)

        {

            mov = true;

            xpos = MousePosition.X;//鼠标的x坐标为当前窗体左上角x坐标

            ypos = MousePosition.Y;//鼠标的y坐标为当前窗体左上角y坐标

        }

C#窗体设计:[7]移动窗体

4、在窗体的MouseMove事件中添加一下代码:

private void Form1_MouseMove(object sender, MouseEventArgs e)

        {

            if (mov)

            {

                this.Left += MousePosition.X - xpos;//根据鼠标x坐标确定窗体的左边坐标x

                this.Top += MousePosition.Y - ypos;//根据鼠标的y坐标窗体的顶部,即Y坐标

                xpos = MousePosition.X;

                ypos = MousePosition.Y;

            }

        }

C#窗体设计:[7]移动窗体

5、在窗体的MouseUp和MouseLeave事件中添加一下代码:

private void Form1_MouseUp(object sender, MouseEventArgs e)

        {

            mov = false;//停止移动

        }

        private void Form1_MouseLeave(object sender, EventArgs e)

        {

            xpos = 0; //设置初始状态

            ypos = 0;

            mov = false;

        }

C#窗体设计:[7]移动窗体

6、程序运行如下:

C#窗体设计:[7]移动窗体

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢