winform设置无边框窗体移动,效果更好看

C#开发winform窗口实现无边框移动
效果展示:
在这里插入图片描述
教程:

  1. 创建窗体,选中窗体属性设置BorderStyle = None, 这样窗体就是无边框了
    在这里插入图片描述
  2. 按f7, 将核心移动代码复制到窗体代码后台
    在这里插入图片描述
    将以下代码复制:
#region 无边框窗体移动
       
        // 鼠标按下
        private bool isMouse = false; // 鼠标是否按下
        // 原点位置
        private int originX = 0;
        private int originY = 0;
        // 鼠标按下位置
        private int mouseX = 0;
        private int mouseY = 0;
        private void windowMove_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left) { // 判断鼠标按键
                isMouse = true;
                // 屏幕坐标位置
                originX = this.Location.X;
                originY = this.Location.Y;
                // 鼠标按下位置
                mouseX = originX + e.X;
                mouseY = originY + e.Y;
            }           
        }

        // 鼠标移动
        private void windowMove_MouseMove(object sender, MouseEventArgs e)
        {
            if (isMouse) {
                // 移动距离
                int moveX = (e.X + this.Location.X) - mouseX;
                int moveY = (e.Y + this.Location.Y) - mouseY;
                int targetX = originX + moveX;
                int targetY = originY + moveY;
                this.Location = new Point(targetX, targetY);
            }
        }

        // 鼠标释放
        private void windowMove_MouseUp(object sender, MouseEventArgs e)
        {
            if (isMouse) {
                isMouse = false;
            }
        }

        #endregion
  1. 设置控件鼠标事件:鼠标按下,鼠标移动,鼠标松开
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值