誤解されているRTFがあります。 StringWriter
を取り、テーブル内で処理できない\t
文字に置き換えます。RichTextBox
string rtfBeforeConversion = @"{\rtf1{\trowd\cellx1150 \cellx3750 \cellx7350 Temp\intbl\cell 96 - 99.7\t\intbl\cell 97.9\t\intbl\cell \row}}";
string rtfBrokenByConversion = @"{\rtf1{\trowd\cellx1150 \cellx3750 \cellx7350 Temp\intbl\cell 96 - 99.7 \intbl\cell 97.9 \intbl\cell \row}}";
rtfBeforeConversion
にデータを含む3列を正しく表示しますRichTextBox
。
rtfBrokenByConversion
その結果、3番目の列にはデータが表示されません(または、RTFの解釈に使用されているDLLによっては、その列の外側と右側のデータ)。
ストリングライターコード
using (StringWriter sw = new StringWriter())
{
GetRTF(sw);//inserts value of rtfBeforeConversion
return sw.ToString();//ToString() creates rtfBrokenByConversion
}
この問題を修正するにはどうすればよいですか?(私が試しStringBuilder
たところ、同じ結果が得られたことに注意してください)