出于某种原因,如果将Form.MaximumSize的宽度和高度都设置为零,它将允许您具有不受限制的窗口大小,但是如果要设置限制,则必须同时对宽度和高度进行操作同时。我想要一个固定的宽度但没有高度限制。
// No Limits
this.MaximumSize = new Size(0,0);
// Form Height will be stuck at 0
int ArbitraryWidth = 200;
this.MaximumSize = new Size(ArbitraryWidth, 0);
答案 0 :(得分:19)
使用INT_MAX,因为它可以用Size
代表理论上的限制:
//Max width 200, unlimited height
this.MaximumSize = new Size(200, int.MaxValue);
答案 1 :(得分:4)
我知道这个问题已经有几年了但是我遇到了同样的问题,我所做的就是将其中一个参数设置为屏幕的分辨率,假设表单的大小不能超过屏幕的大小
this.MaximumSize = new Size(200, Screen.PrimaryScreen.Bounds.Height);
希望这有助于某人。
答案 2 :(得分:1)
是否可以为表单设置最大宽度但是保留 最大高度不受限制?
不是真的。您可以按如下方式模拟它:
private void Form1_Resize(object sender, EventArgs e)
{
SetMaximumWidth();
}
private void Form1_Load(object sender, EventArgs e)
{
SetMaximumWidth();
}
private void SetMaximumWidth()
{
if (Width > 200)
Width = 200;
}