0

错误的重新调整大小的表格

见上图。在右侧,我的应用程序在具有正常字体大小(100%)的 Windows PC 上运行,左侧是相同的应用程序,字体大小设置为 125%(这是在屏幕首选项中设置的)。如您所见,缺少左上角的 2 个按钮。

表单属性 .AutoScaleMode = Font,理论上应该可以解决此问题,但事实并非如此。所有左列按钮都有 Anchor = Left | 底部。如果我将其设置为左 | 顶部,然后底部 2 个按钮将不可见。

如何以较少的工作量解决此问题?我有大约 100 个具有这种行为的表格。

谢谢

4

1 回答 1

1

我不能删除它。在该按钮下,我有一个 TextBox,应用程序启动时必须将其隐藏。

只是不要对表单的 Height 属性进行硬编码,将其设置为 TextBox 的 Top 属性。或者少一点。另请注意,Height 不是正确使用的属性,它受用户为窗口标题字体选择的大小的影响。因此,无论视频适配器的 DPI 设置如何,您的表单都可能出现异常行为。您想设置 ClientSize 属性,如下所示:

    protected override void OnLoad(EventArgs e) {
        this.ClientSize = new Size(this.ClientSize.Width, SomeTextBox.Top);
        base.OnLoad(e);
    }

进一步的细节表明,这必须在表单的 Load 事件中完成,如图所示。当它触发时,表格已重新调整大小,因此您将知道制作它的高度。构造函数为时过早。

于 2013-10-08T18:14:28.100 回答