0

我试过设置,但是当这个设置时,我的表单仍然有更大的高度。有什么办法吗?

4

5 回答 5

2

来自 MSDN 的注释:-

使用 Sizable 样式,即使您已将 ControlBox 设置为 false 并将零长度字符串分配给 Text,也无法将窗口大小调整到某个最小值以下。考虑通过使用SizableToolWindow style来解决这个问题。

于 2012-08-31T03:45:03.590 回答
1

可能是您设置trueForm.AutoSize属性。关闭AutoSize=false.

于 2012-08-31T03:34:15.550 回答
1

我只能假设问题是边框样式所有表单都有边框,如果您不介意没有边框,则无法更改,只需将边框样式设置为无,然后表单高度甚至可以为 0px

于 2012-08-31T03:35:42.637 回答
1

使控制框=假;你会得到你想要的。因为它是 ControlBox,尺寸超过 30x30,没有它你可以做所有尺寸。

于 2012-08-31T04:41:29.277 回答
1

这是一个适合我的解决方案。

在从 Form 派生的类中,重写两个方法以绕过应用的尺寸校正,并禁止您将尺寸设置为低于限制。

    // the *real* width and height of your form, Width and Height are now lying...
    internal int CoreWidth { get; private set; }
    internal int CoreHeight { get; private set; }

    // just for fun :
    public new int Width { get { return CoreWidth; } }
    public new int Height { get { return CoreHeight; } }

    protected override void SetClientSizeCore ( int x, int y )
    {
        // get wished width and height earlier enough in the chain of calls
        CoreWidth = x;
        CoreHeight = y;
        base.SetClientSizeCore ( x, y );
    }

    protected override void SetBoundsCore ( int x, int y, int width, int height, BoundsSpecified specified )
    {
        // don't trust width and height that are provided, use the ones you kept
        base.SetBoundsCore ( x, y, CoreWidth, CoreHeight, specified );
    }

像魅力一样工作......我用它来创建某种在屏幕上任何地方弹出的通知窗口,它可以包含任何类型的控件并具有任何大小,没有限制。

于 2013-01-16T14:30:36.713 回答