我正在使用Visual Studio,并使用WinForms在C#中创建了一个新的Windows应用程序。
我选择了使用该项目创建的表单,并将 .FormBorderStyle 属性设置为无。
然后我将表格的高度设置为18。
在设计师一切都很好,它看起来高度= 18。
但是当我跑步时,身高会增加,并且由于某种原因会变为34。
我需要表单高度为18,而不是34 ..
我能做些什么来达到我想要的高度?
谢谢
答案 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的控件是最底层的控件。必要时调整。