问题描述
将文本对齐方式与RichTextBox进行比较时,其行为已从.Net4.6.1更改为.Net4.8。
有关如何在.Net4.8中实现.Net 4.6.1的早期行为的任何帮助?
public Form1()
{
InitializeComponent();
RichTextBox richTextBox1 = new RichTextBox()
{
Width = 300,Height = 20,Location = new Point(100,100)
};
richTextBox1.Text = "中文_Dummy_Text";
TextBox textBox = new TextBox()
{
Width = 300,200)
};
textBox.Text = "中文_Dummy_Text";
this.Controls.Add(richTextBox1);
this.Controls.Add(textBox);
}
解决方法
在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