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?

È stato utile?

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;
}

http: / /social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/1f757f8c-427e-4042-8976-9ac4fd9caa22

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top