我在.NET 2.0中使用System.Windows.Forms.RichTextBox控件,并使用c#。如何追加一个线,而不是 par到一个System.Windows.Forms.RichTextBox
我有一个字符串数组,我想追加到RichTextBox,但我不想在RTF中创建新段落。我希望线被\ line命令分割,而不是RTF中的\ par命令。 (我想模拟某人输入Shift + Enter而不是输入。)
我一直无法成功获取RichTextBox.AppendText以生成\ line命令而不是\ par命令。所以我一直插入我的文本,然后手动将\ line命令插入RTF本身。
如果其中一个字符串包含在RTF中转义的字符(例如,将单个closequote转换为\ rquote),则会失败,因为我无法找到插入RTF的原始字符串。
有了这个解决方案,我需要在RTF中搜索它之前,先将字符串中的字符转义出来。
有没有办法让RichTextBox控件生成\ line命令而不是\ par命令,还是我必须坚持使用此解决方案并搜索RTF转义字符串。
这里是我当前的代码:
string[] lines = textInfo.Lines;
for (int i = 0; i < lines.Length; i++)
{
rtb.AppendText(lines[i]);
if (i < lines.Length - 1)
{
string rtf = rtb.Rtf;
int insertedIndex = rtf.LastIndexOf(lines[i]);
int length = lines[i].Length;
rtf = rtf.Insert(insertedIndex + length, @"\line");
rtb.Rtf = rtf;
}
}
这也是我的发现。我不想用RTF中的\ line实例替换所有\ par实例,所以我认为除非找到更好的东西,否则我将不得不继续使用我的解决方案。 – jameswelle 2009-06-26 05:20:26