【C#】设置窗口随意移动

 

窗口标题栏隐藏后 无法在拖动

需要自己获取移动坐标来设置窗口位置

 

 

        //外部需要两个集变量
        private Point mouseOff;//鼠标移动位置变量

        private bool leftFlag;//鼠标是否为左键

        //鼠标按下事件
        private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseOff = new Point(-e.X, -e.Y);//获得当前鼠标的坐标
                leftFlag = true;
            }
        }

        //鼠标移动事件
        private void pictureBox2_MouseMove(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                Point mouseSet = Control.MousePosition;//获得移动后鼠标的坐标
                mouseSet.Offset(mouseOff.X, mouseOff.Y);//设置移动后的位置
                Location = mouseSet;//窗口为移动值
            }
        }

        //鼠标放开事件
        private void pictureBox2_MouseUp(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                leftFlag = false;
            }
        }

 

补充

窗口有3中状态:(最大化(Maximized)、最小化(Minimized)、默认大小(Normal))

1 // 令窗口最大化
2 this.WindowState = FormWindowState.Maximized;
3 // 令窗口最小化
4 this.WindowState = FormWindowState.Minimized;

 

变色:

 label4.BackColor = Color.FromArgb(0,120,215);

 

posted @   Hello霖  阅读(268)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示