Cambia Colore link nel RichTextBox
-
21-08-2019 - |
Domanda
Ho un RichTextBox che contiene link pubblicati dagli utenti.
Il problema è che il mio RTB rende il colore dei link nero, e il colore di sfondo è anche nero. Questo porta a dei collegamenti essere invisibile.
Come faccio a cambiare il colore dei collegamenti nel RTB?
Soluzione
Phoexo:
Date un'occhiata al seguente articolo CodeProject. Costui fornisce un modo per creare collegamenti arbitrari nel testo che funziona, mentre la proprietà DetectUrls è impostata su false . Con una piccola quantità di hacking, si dovrebbe avere il pieno controllo della formattazione dei link.
I collegamenti con testo arbitrario in un RichTextBox
http://www.codeproject.com/KB/edit/RichTextBoxLinks. aspx? display = Stampa
Altri suggerimenti
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;
}
Non sono sicuro di come cambiare il colore dei link, ma è possibile modificare il modo in cui l'RTB gestisce gli URL.
Prova a impostare la proprietà DetectUrls su false.
In questo modo, il collegamento sarà lo stesso colore del testo RTB, e visibile. (Anche se non cliccabile).
Si potrebbe provare a cambiare la formattazione in RichText stesso. La parola chiave fonttbl permette di fare formati di testo.
http://msdn.microsoft.com/ it-it / library / aa140277 (office.10) aspx