Alterar cor do link em RichTextBox
-
21-08-2019 - |
Pergunta
Eu tenho um RichTextBox que contém links postados pelos usuários.
O problema é que a minha RTB torna a cor dos links preto, ea cor de fundo também é preto. Isto leva para os links de ser invisível.
Como faço para mudar a cor dos links no RTB?
Solução
Phoexo:
Tenha um olhar para o artigo CodeProject seguinte. Este companheiro fornece uma maneira de criar links arbitrários no texto que o trabalho, enquanto a propriedade DetectUrls é definida como false . Com uma pequena quantidade de hackers, você deve ter o controle total da formatação de seus links.
Ligações com texto arbitrário em um RichTextBox
http://www.codeproject.com/KB/edit/RichTextBoxLinks. aspx? display = Imprimir
Outras dicas
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;
}
Eu não tenho certeza de como mudar a cor dos links, mas você pode mudar a maneira que os RTB alças URLs.
Tente definir a propriedade DetectUrls como falsa.
Dessa forma, a ligação será a mesma cor que o texto RTB, e visível. (Embora não seja clicável).
Você pode tentar mudar a formatação no próprio RichText. A palavra-chave fonttbl permite que você faça formatos de texto.
http://msdn.microsoft.com/ en-us / library / aa140277 (office.10) .aspx