WinForms RichTextBox - InvalidOperationException: Cannot load the text - happens only in .Net 6

WPF-Learner 106 Reputation points
2022-02-01T16:31:27.447+00:00

I'm using System.Windows.Forms.RichTextBox, and have the following code:

var testRichTextBox = new System.Windows.Forms.RichTextBox();
var testText = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Courier New;}}{\colortbl\red0\green0\blue0;}\fs20{\cf0 \ud{\u160}}\line }";
testRichTextBox.Rtf = testText;

This same code works perfectly in .Net 4.7.2.

When trying to run it in .Net 6, the following exception is produced:

System.InvalidOperationException: Cannot load the text.
   at System.Windows.Forms.RichTextBox.StreamIn(Stream data, SF flags)
   at System.Windows.Forms.RichTextBox.StreamIn(String str, SF flags)
   at System.Windows.Forms.RichTextBox.set_Rtf(String value)

Couldn't find any documentation about it in the WinForms breaking changes in .Net 6 on MSDN, what can be the cause for that?

Windows Forms
Windows Forms
A set of .NET Framework managed libraries for developing graphical user interfaces.
1,856 questions
{count} vote

Accepted answer
  1. Viorel 112.9K Reputation points
    2022-02-01T17:55:58.213+00:00

    To use this form of \ud, try adding \uc0 (after \ansi, for example).


0 additional answers

Sort by: Most helpful