12

出于某种原因,如果您将 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);
4

3 回答 3

24

Size使用 INT_MAX 因为这是无论如何都可以用 a 表示的理论限制:

//Max width 200, unlimited height
this.MaximumSize = new Size(200, int.MaxValue);
于 2014-03-26T20:45:47.847 回答
4

我知道这个问题已经有几年了,但我遇到了同样的问题,我所做的是将其中一个参数设置为屏幕的分辨率,假设表单的大小不能超过屏幕的大小。

this.MaximumSize = new Size(200, Screen.PrimaryScreen.Bounds.Height);

希望这可以帮助某人。

于 2015-05-14T07:07:01.570 回答
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;
    }
于 2012-11-23T10:43:42.837 回答