在 .NET WinForms 中,如何制作高度小于 34 的无边框窗体
本文关键字:小于 窗体 边框 高度 何制作 WinForms NET | 更新日期: 2023-09-27 18:34:10
我正在使用Visual Studio,并在C#中创建了一个使用WinForms的新Windows应用程序。
我采用了与项目一起创建的表单,并设置了 .属性为"无"。
然后,我将窗体的高度设置为 18。
在设计器上一切都很好,它确实显示为高度= 18。
但是当我运行它时,高度会增加,并且由于某种原因变为 34。
我需要表单高度为 18,而不是 34。
我该怎么做才能让它达到我想要的高度?
谢谢
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 的控件是底部控件。 根据需要进行调整。