【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);

浙公网安备 33010602011771号