我通过richtextbox的loadfile(stream, RichTextBoxStreamType)方法将一下*.rtf文件读入到richtextbox,其它没什么问题,但是当中的超级链接会将目的链接显示出来,但是我不想让它显示出来,不知道哪位大侠能帮帮忙,谢谢!具体如下:以下是rtf文件中的超级链接:
link
loadfile以后就变成:
link <http://www.baidu.com>
但是我想的是loadfile以后还是:
link

解决方案 »

  1.   

    RichTextBox 对超链接的支持不太好,从其它文件中复制就会出现楼主所描述的现象。
    可以在RichTextBox专门对超链接再处理一下,再保存后加载就没问题了。RichTextBox中加超链接的方法:
    http://topic.csdn.net/t/20040726/17/3211669.html
      

  2.   

    To lzsh0622
    你能再给说明白点怎么处理一下吗?我看了一下,没有看出来怎么处理,谢谢
      

  3.   

    \kerning2{\field{\*\fldinst{HYPERLINK "http://www.163.com/"}}{\fldrslt{\cf1\ul www}}}\cf0\kerning0\ulnone\f0上面rtf格式表示的超链 www 网址是http://www.163.com/
    读取后 处理一下再交给richboxstring x = richTextBox1.Rtf;
    //找超链接
     int a = x.IndexOf("HYPERLINK \"");
       a+=(string)"HYPERLINK \"".Length;
       int b = x.IndexOf("\"}",a+1);
      string temp = x.Substring(a, b - a);//提取http://www.163.com/
    //找超链接文字
      a = x.IndexOf("\\ul ", b + 2);
                a+=(string)"\\ul ".Length;
                b = x.IndexOf("}", a);
    string ok;
                if ((x.Substring(a, b - a).Contains(temp)) &&( x.Substring(a, b - a).Length>temp.Length))
                {
                    ok = x.Substring(0, a) + x.Substring(a, b - a - temp.Length) + x.Substring(b);//删除重复的http://www.163.com/
                }   richTextBox1.Rtf = x;