Изменить цвет ссылки в RichTextBox - PullRequest
1 голос
/ 30 июня 2009

У меня есть RichTextBox, который содержит ссылки, опубликованные пользователями.

Проблема в том, что мой RTB делает цвет ссылок черным, а цвет фона - черным. Это приводит к тому, что ссылки становятся невидимыми.

Как изменить цвет ссылок в RTB?

Ответы [ 4 ]

3 голосов
/ 01 июля 2009

Phoexo:

Взгляните на следующую статью CodeProject. Этот сотрудник предоставляет способ создания произвольных ссылок в тексте, который работает, , в то время как свойство DetectUrls имеет значение false . С небольшим количеством взлома вы должны полностью контролировать форматирование ваших ссылок.

Ссылки с произвольным текстом в RichTextBox
http://www.codeproject.com/KB/edit/RichTextBoxLinks.aspx?display=Print

2 голосов
/ 30 июня 2009
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

1 голос
/ 30 июня 2009

Я не уверен, как изменить цвет ссылок, но вы можете изменить способ, которым RTB обрабатывает URL.

Попробуйте установить для свойства DetectUrls значение false.

Таким образом, ссылка будет того же цвета, что и текст RTB, и будет видимой. (Хотя не кликабелен).

0 голосов
/ 02 июля 2009

Вы можете попробовать изменить форматирование в самом RichText. Ключевое слово fonttbl позволяет создавать текстовые форматы.

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

...