我创建了一个表单并设置了它FormBorderStyle
财产给none
。
当我按下Windows + UP
形式将是最大化。如何防止表单最大化?
我试过
private void logIn_Resize(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
}
但这不是我想要的。当我按上面的代码时Windows + Up
form 将最大化,然后恢复正常状态。但我想从根本上防止它。
将表单的 MaximizeBox 设置为 Falseshould足以阻止这个 Aero Snap 功能。但由于某些神秘的原因,Form.CreateParams 计算了错误的样式标志。由于 4.7.1 更新,我现在无法单步执行,并且在源代码中没有看到错误。它可能与在系统菜单中禁用它有关,但与样式标志无关,只是猜测。
不管怎样,强行敲掉原生风格的旗帜确实可以解决问题。将此代码复制粘贴到您的表单类中:
protected override CreateParams CreateParams {
get {
const int WS_MAXIMIZEBOX = 0x00010000;
var cp = base.CreateParams;
cp.Style &= ~WS_MAXIMIZEBOX;
return cp;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)