在.NET WinForms中,如何制作高度小于34的无边框表格?

时间:2014-12-13 09:00:43

标签: c# .net winforms

我正在使用Visual Studio,并使用WinForms在C#中创建了一个新的Windows应用程序。

我选择了使用该项目创建的表单,并将 .FormBorderStyle 属性设置为

然后我将表格的高度设置为18。

在设计师一切都很好,它看起来高度= 18。

但是当我跑步时,身高会增加,并且由于某种原因会变为34。

我需要表单高度为18,而不是34 ..

我能做些什么来达到我想要的高度?

谢谢

1 个答案:

答案 0 :(得分:2)

Winforms将最小大小约束应用于基于保持标题栏可用的表单。即使表单没有表单,也是大多数程序员所称的怪癖" bug"。

但是,您仍然可以通过在Load事件的事件处理程序中设置ClientSize属性来覆盖最终大小。请注意需要在具有不同视频DPI设置的计算机上重新缩放窗口,想要对硬件进行硬编码。最好的方法是根据控件的位置调整大小。例如:

    protected override void OnLoad(EventArgs e) {
        base.OnLoad(e);
        this.ClientSize = new Size(
            this.ClientSize.Width,
            OKButton.Bottom + OKButton.Margin.Bottom
        );
    }

假设名为OKButton的控件是最底层的控件。必要时调整。