2009-06-30 132 views
1

我有一個RichTextBox,其中包含由用戶發佈的鏈接。更改RichTextBox中的鏈接顏色

問題是我的RTB會使鏈接的顏色變黑,背景顏色也變黑。這導致鏈接不可見。

如何更改RTB中鏈接的顏色?

回答

1

我不確定如何更改鏈接的顏色,但可以更改RTB處理網址的方式。

嘗試將DetectUrls屬性設置爲false。

這樣,鏈接將與RTB文字顏色相同,並且可見。 (雖然不可點擊)。

2
string str = richTextBox1.Text; 

Regex re = new Regex("^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\[email protected])?([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

+0

是的,我發現一個,但我沒有得到它的工作;它確實找到了鏈接,但顏色保持不變。 – Phoexo 2009-06-30 15:40:39

+0

您是否嘗試將DetectUrls屬性設置爲false,如Scott所示?我敢打賭,你可以改變顏色。 – 2009-06-30 15:57:04