我使用richTextBox.text连rtf格式码都显示出来了,使用richTextBox.Rtf显示是空白,为什么会这样?RTF构建的方法:
        //在rtf中插入处理的字符串
        public string getTagRtf(string text, string textColor, string textBgColor)
        {
            StringBuilder rtfText = new StringBuilder();
            rtfText.Append(@"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052");//rtf头
            rtfText.Append(@"{\fonttbl{\f0\fnil\fcharset134\''cb\''ce\''cc\''e5;}}");//字体
            rtfText.Append(@"{\colortbl;");//定义颜色
            rtfText.Append(textColor);//文字颜色
            rtfText.Append(textBgColor);//文字背景颜色
            rtfText.Append(@"}");
            rtfText.Append(@"{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\highlight2\b\lang2052\f0\fs18");//文本体
            rtfText.Append(text);//要显示的文本。
            rtfText.Append(@"}");//rtf结尾//\par
            string rtfcode = rtfText.ToString();
            return rtfcode;
        }

解决方案 »

  1.   

    我再研究下rtf文本,那就是方法是对的。谁给指出rtf错误在哪儿
      

  2.   

    你要什么效果用系统自带的写字板保存一个文件夹,再用文本打开看看rtf
      

  3.   

    //在rtf中插入处理的字符串 
    public string getTagRtf(string text, string textColor, string textBgColor)
    {
        StringBuilder rtfText = new StringBuilder();
        rtfText.Append(@"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052");//rtf头 
        rtfText.Append(@"{\fonttbl{\f0\fnil\fcharset134\'cb\'ce\'cc\'e5;}}");//字体 
        rtfText.Append(@"{\colortbl;");//定义颜色 
        rtfText.Append(textColor);//文字颜色 
        rtfText.Append(@";");
        rtfText.Append(textBgColor);//文字背景颜色 
        rtfText.Append(@";}");
        rtfText.Append(@"{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\highlight2\b\lang2052\f0\fs18");//文本体 
        rtfText.Append(text);//要显示的文本。 
        rtfText.Append(@"}");//rtf结尾//\par 
        string rtfcode = rtfText.ToString();
        return rtfcode;
    }
    这样就可以了
      

  4.   

    this.richTextBox1.Rtf = getTagRtf("TTT", @"\red255\green0\blue0", @"\red255\green255\blue0");
    忘了调用了
      

  5.   

    谢谢楼上各位,谢谢Fenixevon,原来是我调用函数字符串多了个;分号this.richTextBox1.Rtf = getTagRtf("TTT", @"\red255\green0\blue0;", @"\red255\green255\blue0;");