我正在使用给定here的代码,我将其更改为格式化富文本框中的文本,如下所示:
private void richTextBox1_Leave(object sender, EventArgs e)
{
richTextBox1.Rtf = @"{\rtf1\ansi " + richTextBox1.Text;
}
它正常工作并在我离开时格式化代码,但有两个错误:
嘿看,\ b我是大胆的\ b而我不是
出现:
嘿看,我是大胆的而且我不是
答案 0 :(得分:0)
尝试“嘿看,\ b我是大胆的\ b0而我不是”(注意额外的间距)来解决第一个问题。
如果控制字符丢失,您可能以错误的方式访问文本内容。使用RichTextBox对象的Rtf
属性而不是Text
属性。
答案 1 :(得分:0)
正如彼得G告诉我并且我完全错过了,第一个问题的答案是缺少空间。在第二个问题中,我做了一个字符串,在格式化代码之前,它将文本框的文本保存到字符串中(嘿看,\ b我' m bold \ b0和我&#39 ; m not),然后它格式化代码。然后我设置将文本框的文本设置为该字符串。
string text1;
private void richTextBox1_Leave(object sender, EventArgs e)
{
text1 = richTextBox1.Text;
richTextBox1.Rtf = @"{\rtf1\ansi " + richTextBox1.Text;
}
private void richTextBox1_Enter(object sender, EventArgs e)
{
richTextBox1.Text = text1;
}