1

我们有一个 WinForms 应用程序,其中包括位于窗体上的图片框等控件。基本应用程序是英文的。

我们已将此应用程序翻译成多种不同的语言(法语、西班牙语、丹麦语、希腊语等),最近还翻译成简体中文。翻译后的应用程序可以在我们的操作系统上完美运行(英文)。

我们的一位客户在他们的操作系统 Windows XP 上安装了该应用程序(简体中文)。我们的应用程序的布局被破坏了。简单地说,元素被推到右下角,这个因子与元素和左上角之间的距离成正比。例如,设计视图中右上角的元素被推离屏幕右侧,而页面底部的项目被向下和向右推。

该应用程序支持在使用时切换语言。当区域设置为 en-US 时,没有布局问题。切换到简体中文时,会出现问题,但仅限于简体中文操作系统。屏幕分辨率和 DPI 相同。

你有什么想法?我确定它一定是某个地方的简单配置设置,但我一直无法解决这个问题。

4

1 回答 1

1

系统基本字体的大小也很重要。这确实是您可以在 XP 上更改的内容。这将调用表单的自动缩放逻辑,旨在确保控件变大以适应更大的字体大小。

这是设计使然,由窗体的 AutoScaleMode 属性控制。不要改变它,重新缩放很重要。只要确保表单布局仍然看起来不错,使用像 Anchor 和 Dock 这样的属性,像 TableLayoutPanel、FlowLayoutPanel 这样的控件。或者针对棘手的 Resize 事件。

将此粘贴到您的表单中以测试此逻辑,而无需更改系统设置:

    protected override void OnLoad(EventArgs e) {
        this.Font = new Font(this.Font.FontFamily, this.Font.SizeInPoints * 125 / 96);
    }
于 2010-07-07T16:07:23.387 回答