【发布时间】:2016-05-13 09:11:14
【问题描述】:
我有一个限制 MaxSize 的 WinForm 表单。如果我按下最大化按钮,此窗口会弹出到位置 0,0(左上角),并具有正确的 MaxSize。有没有办法防止表单移动?
我可以在表单被移动后(通过操作系统)设置一个新的位置,但是用户可以看到表单在屏幕上弹出,这不是很整洁。 (我更改了 FormName 以在此处发布代码)。 SuspendLayout 在这里没有帮助,我也不一定要禁用最大化按钮。
void frmWinForm_SizeChanged(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Maximized)
{
var x = ... // some calculated or original x position
var y = ... // some calculated or original y position
WindowState = FormWindowState.Normal;
SetBounds(x, y, MaxSize.X, MaxSize.Y);
}
}
【问题讨论】: