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

C#开发winform窗口实现无边框移动
效果展示:
winform设置无边框窗体移动,效果更好看_第1张图片
教程:

  1. 创建窗体,选中窗体属性设置BorderStyle = None, 这样窗体就是无边框了
    winform设置无边框窗体移动,效果更好看_第2张图片
  2. 按f7, 将核心移动代码复制到窗体代码后台
    winform设置无边框窗体移动,效果更好看_第3张图片
    将以下代码复制:
#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. 设置控件鼠标事件:鼠标按下,鼠标移动,鼠标松开
    winform设置无边框窗体移动,效果更好看_第4张图片
    winform设置无边框窗体移动,效果更好看_第5张图片

你可能感兴趣的:(winform设置无边框窗体移动,效果更好看)