我有丰富的文本框字符串颜色:
我有richtexbox,用户在其中键入消息。我标记了我字典中存在的每个单词。我使用这个代码:
this.inputTextAreaRtb.Text=this.inputTextAreaRtb.Text.Remove(startCoordinate, endCoordinate - startCoordinate);
this.inputTextAreaRtb.SelectionStart = this.inputTextAreaRtb.Text.Length;
this.inputTextAreaRtb.SelectionLength = 0;
this.inputTextAreaRtb.SelectionFont = new System.Drawing.Font(
"David",
12, FontStyle.Underline);
this.inputTextAreaRtb.SelectionColor = Color.DarkBlue;
this.inputTextAreaRtb.AppendText(_word);
this.inputTextAreaRtb.SelectionColor = this.inputTextAreaRtb.ForeColor;
this.inputTextAreaRtb.SelectionFont = new System.Drawing.Font(
"David",
12, FontStyle.Regular);
但每次如果我已经用一个单词标记了已格式化的单词的松散格式。
这个问题的任何想法?
答案 0 :(得分:4)
当您在第一行设置inputTextAreaRtb.Text
时,您正在设置一个没有任何格式的新文本。
答案 1 :(得分:3)
SLaks是正确的。要获取/设置格式化文本,您需要访问Rtf
属性:http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.rtf.aspx。
另请查看SelectedRtf
媒体资源:http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.selectedrtf.aspx。
答案 2 :(得分:1)
this.inputTextAreaRtb.Text=this.inputTextAreaRtb.Text.Remove(startCoordinate, endCoordinate - startCoordinate);
***this.inputTextAreaRtb.Rtf = this.lastRTF;***
this.inputTextAreaRtb.SelectionStart = this.inputTextAreaRtb.Text.Length;
this.inputTextAreaRtb.SelectionLength = 0;
this.inputTextAreaRtb.SelectionFont = new System.Drawing.Font(
"David",
12, FontStyle.Underline);
this.inputTextAreaRtb.SelectionColor = Color.DarkBlue;
this.inputTextAreaRtb.AppendText(_word);
this.inputTextAreaRtb.SelectionColor = this.inputTextAreaRtb.ForeColor;
this.inputTextAreaRtb.SelectionFont = new System.Drawing.Font(
"David",
12, FontStyle.Regular);
我只需要在每次迭代之前保存RichTextBox的最后一个RTF 谢谢你们!