Вопрос

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

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

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

Это было полезно?

Решение

Фексо:

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top