更改 DPI 时字体大小不会更改
Font size not changing when DPI is changed
我有一个 C# WinForms 应用程序,它是我在 Windows 7 pro 桌面 PC 上使用 VS 2013 创建的,DPI 125。在 Surface pro 4 pc 上测试后,我发现有问题缩放。所以,经过一些灵魂,Whosebug,搜索:-)我发现我应该添加 app.manifest 文件并将 apiAware 设置为是的,还要将形式 AutoScaleMode 更改为 DPI 及其 AutoSize 为真。这解决了几乎所有控件的问题。我遇到的问题是 LinkLabel 控件。此控件的字体大小不会随窗体上的其他控件而改变,也不会与它们内嵌。
解决此问题的最佳方法是什么?
问候,
es
这是我想出的解决方案,根据它们使用的内容调整所有控件的大小。例如,如果它是一个 PictureBox 控件,在增加 DPI 后只会调整控件本身的大小,而不是实际图像的大小,所以我将根据图像的大小调整控件的大小。
所以一个简单的代码看起来像这样
Size newSize = missionPbx.Image.Size;
missionPbx.Size = new Size(newSize.Width + 5, newSize.Height+5);
干杯,
es
我有一个 C# WinForms 应用程序,它是我在 Windows 7 pro 桌面 PC 上使用 VS 2013 创建的,DPI 125。在 Surface pro 4 pc 上测试后,我发现有问题缩放。所以,经过一些灵魂,Whosebug,搜索:-)我发现我应该添加 app.manifest 文件并将 apiAware 设置为是的,还要将形式 AutoScaleMode 更改为 DPI 及其 AutoSize 为真。这解决了几乎所有控件的问题。我遇到的问题是 LinkLabel 控件。此控件的字体大小不会随窗体上的其他控件而改变,也不会与它们内嵌。
解决此问题的最佳方法是什么?
问候,
es
这是我想出的解决方案,根据它们使用的内容调整所有控件的大小。例如,如果它是一个 PictureBox 控件,在增加 DPI 后只会调整控件本身的大小,而不是实际图像的大小,所以我将根据图像的大小调整控件的大小。
所以一个简单的代码看起来像这样
Size newSize = missionPbx.Image.Size;
missionPbx.Size = new Size(newSize.Width + 5, newSize.Height+5);
干杯,
es