Изменить цвет ссылки в RichTextBox
-
21-08-2019 - |
Вопрос
У меня есть 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;
}
Я не знаю, как изменить цвет ссылок, но вы можете изменить способ обработки URL-адресов в RTB.
Попробуйте установить для свойства DetectUrls значение false.
Таким образом, ссылка будет того же цвета, что и текст RTB, и будет видна.(Хотя и не кликабельно).
Вы можете попробовать изменить форматирование в самом RichText.Ключевое слово fonttbl позволяет вам создавать текстовые форматы.
http://msdn.microsoft.com/en-us/library/aa140277(office.10).aspx