日期:2014-05-19  浏览次数:21081 次

c# richtextbox的rtf格式
richTextBox1.Text   =   "123 ";
richTextBox1.Select(0,   1);
richTextBox1.SelectionColor   =   Color.Red;
richTextBox1.Text   =   "abc ";

------------------------------

为什么abc会全部变成红色?

rtf格式和普通的string有什么差别呀?

------解决方案--------------------
格式如果没有结束或重新设置,一直会应用到最后.
------解决方案--------------------
哈哈,我也在做richTextBox测试,已经头晕了,richTextBox1.SelectionColor = Color.Red;一句指定了体为红色,rtf是一种文件格式
------解决方案--------------------
richTextBox1.Text = "123 ";
richTextBox1.Select(0, 1);//对 "123 "选择设置
richTextBox1.SelectionColor = Color.Red;
richTextBox1.Text = "abc ";//richTextBox1.Text内容改变,但保存richTextBox1.SelectionColor的值
------解决方案--------------------
顶……

------解决方案--------------------
你找个RTF文件 好多软件的许可或者说明是用那个东西 看看用TextBox能做出来不
http://www.microsoft.com/downloads/details.aspx?FamilyID=e5b8ebc2-6ad6-49f0-8c90-e4f763e3f04f&DisplayLang=en
------解决方案--------------------
UP。
------解决方案--------------------
up
------解决方案--------------------
因为设置的是第一个字符的颜色,这时richtextBox的rtf中记录下位置0的颜色,重置text时,在rtf中的位置从位置0开始,因此颜色还是Color.Red,第三次也应该同样如此
richTextBox1.Text = "123 ";
richTextBox1.Select(0, 1);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.Clear();//清除文本,包括样式
//或richTextBox1.Text= " ";
richTextBox1.Text = "abc ";
richTextBox1.Text = "efg ";
这样重置后的文本颜色就会是黑色.

------解决方案--------------------
看起好复杂啊……
------解决方案--------------------
MARK