如何在更改系统的DPI时防止字体调整大小

时间:2010-10-18 00:37:30

标签: c# winforms

我在C#.NET 3.5中开发了一个应用程序,我希望它能保持相同的窗口大小和字体大小,即使系统DPI已更改。 我在主窗体中将AutoscaleMode设置为None。表单和控件未调整大小,但所有文本的大小都已升级。 有没有办法可以阻止文本升级,或者我如何控制它们将它们重置为96dpi的大小? 感谢。

1 个答案:

答案 0 :(得分:0)

一个可能很简单的解决方案是根据DPI的变化按比例更改控件的字体大小。当DPI发生变化时,相应地放大/缩小字体大小。

另一种可能的选择是将控件上的所有文本“硬渲染”为图像。然后将图像的放大或缩小副本设置为控件的BackgroundImage值。如果您这样做,请务必正确设置控件的BackgroundImageLayout属性。