在高DPI设置下调整RichTextBox字体大小

时间:2012-11-08 20:14:54

标签: c# richtextbox scaling dpi

我的C#应用​​程序包含带有简单文本框和richtext框的网格。通常,richtext框包含从其他地方复制和粘贴的富文本,并且rtf标记通常包括硬编码字体大小(\ fsXX,XX半点)。在大多数情况下,富文本字体大小与简单文本字体大小相同或接近。

当DPI缩放设置为默认值以外的任何值时,富文本会失真,如下所示:

a)当应用程序未设置为DPI识别时,richtext显示为小于简单文本并且模糊。

b)当应用程序设置为DPI时,富文本大于简单文本。

是否有办法允许或强制richtext使用简单文本进行缩放,而不是直接编辑标记?

5 个答案:

答案 0 :(得分:1)

l 0 0.0 0.0

答案 1 :(得分:0)

尝试将其属性 WordWrap 设置为 true

答案 2 :(得分:0)

可能解决问题的一件事是在表单上设置RichTextBox并将表单的AutoScaleMode属性设置为NoneAutoScaleMode Enumeration文档)

答案 3 :(得分:0)

也许您可以使用WPF表单,因此您不必担心不同屏幕的de DPI

答案 4 :(得分:-1)

请尝试以下操作,仅在.NET Framework 4.5.2及更高版本中受支持。微软已经为HighDpiAutoresizing提供了一些控件。

<appSettings>
   <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>