Winforms RichTextBox与.NET4.8的文本对齐问题

Winforms RichTextBox与.NET4.8的文本对齐问题,winforms,richtextbox,text-alignment,.net-4.6.1,.net-4.8,Winforms,Richtextbox,Text Alignment,.net 4.6.1,.net 4.8,将文本对齐方式与RichTextBox进行比较时,行为已从.Net4.6.1更改为.Net4.8 关于如何在.Net4.8中实现.Net4.6.1早期行为的任何帮助 在App.Config中添加运行时设置(如下所示)会恢复到.NET 4.8中较旧的RTB <?xml version="1.0" encoding="utf-8"?> <configuration> <startup>

将文本对齐方式与RichTextBox进行比较时,行为已从.Net4.6.1更改为.Net4.8

关于如何在.Net4.8中实现.Net4.6.1早期行为的任何帮助


在App.Config中添加运行时设置(如下所示)会恢复到.NET 4.8中较旧的RTB

<?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
        </startup>
      <runtime>
         <AppContextSwitchOverrides value="Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl=true"/>
      </runtime>
    
    </configuration>

将多行属性设置为false也会恢复RTB的早期行为

richTextBox1.Multiine = false

添加到Winforms的.NET4.7有了很大的变化。还有一个没有属性的:(您可以使用
cp.ClassName=“RichEdit20W”将旧的返回
但实际上这是一个简单的错误,只需增加一点高度,使文本适合。@HansPassant-当文本包含中文/日文等字体时会出现此问题。但当文本仅为英文字体时,则没有问题。因此,在当前工作场景中,调整高度会有问题。@HansPassant尝试了代码片段你提到了,但是没有成功。但是,我可以看到cp.className已经是“RichEdit50W”
richTextBox1.Multiine = false