更改RichTextBox中的链接颜色

时间:2009-06-30 04:15:06

标签: c# winforms colors hyperlink richtextbox

我有一个RichTextBox,其中包含用户发布的链接。

问题是我的RTB使链接的颜色变黑,背景颜色也变黑。这导致链接不可见。

如何更改RTB中链接的颜色?

4 个答案:

答案 0 :(得分:3)

Phoexo:

查看以下CodeProject文章。这个人提供了一种在文本中创建任意链接的方法,,而DetectUrls属性设置为false 。只需少量黑客攻击,您就可以完全控制链接的格式。

与RichTextBox中的任意文本链接
http://www.codeproject.com/KB/edit/RichTextBoxLinks.aspx?display=Print

答案 1 :(得分:2)

string str = richTextBox1.Text;

Regex re = new Regex("^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&\w+=\w+)*)?", RegexOptions.None);

MatchCollection mc = re.Matches(str);

foreach (Match ma in mc)
{
    richTextBox1.Select(ma.Index, ma.Length);
    richTextBox1.SelectionColor = Color.Red;
}

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/1f757f8c-427e-4042-8976-9ac4fd9caa22

答案 2 :(得分:1)

我不确定如何更改链接的颜色,但您可以更改RTB处理网址的方式。

尝试将DetectUrls属性设置为false。

这样,链接将与RTB文本颜色相同,并且可见。 (虽然不可点击)。

答案 3 :(得分:0)

您可以尝试更改RichText本身的格式。 fonttbl关键字允许您进行文本格式。

http://msdn.microsoft.com/en-us/library/aa140277(office.10).aspx