我有一个RichTextBox,其中包含用户发布的链接。
问题是我的RTB使链接的颜色变黑,背景颜色也变黑。这导致链接不可见。
如何更改RTB中链接的颜色?
答案 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;
}
答案 2 :(得分:1)
我不确定如何更改链接的颜色,但您可以更改RTB处理网址的方式。
尝试将DetectUrls属性设置为false。
这样,链接将与RTB文本颜色相同,并且可见。 (虽然不可点击)。
答案 3 :(得分:0)
您可以尝试更改RichText本身的格式。 fonttbl关键字允许您进行文本格式。
http://msdn.microsoft.com/en-us/library/aa140277(office.10).aspx