2013-06-11 9 views
5

Ho un'etichetta che contiene più stringhe e una di quelle stringa voglio cambiarne il colore.Cambia colore stringa

Questo è quello che ho prova:

private string state = string.Empty; 
state = System.Drawing.Color.Blue.ToString(); 

Ma rimaneva ancora per lo stesso colore

+1

Questo perché 'Blue.ToString()' restituisce il testo ' "Blue"' e non effettivamente il colore blu. Verifica se non esiste un membro 'Label.ForeColor' o simile – Nolonar

+1

possibile duplicato di [Più colori in un'etichetta .NET C#] (http://stackoverflow.com/questions/275836/multiple-colors-in-ac- sharp-net-label) – Jason

+0

Puoi aggiungere ulteriori chiarimenti, inserisci il tuo intero codice per favore – AymenDaoudi

risposta

1

etichetta non può contenere oggetti di più di un colore. Usa più etichette o qualche altro tipo di controllo. Ma dal codice che hai incollato ti consiglio di leggere alcuni tutorial su .NET. Probabilmente ti mancano i concetti di base.

8

Per quanto ne so, un Windows Form Label può utilizzare un solo colore per l'intero testo. Se si desidera il testo multicolore, è necessario utilizzare più etichette o utilizzare RichTextBox ... o eseguire il dipinto da soli, naturalmente.

0

È necessario modificare il colore dell'etichetta, non la stringa.

questo modo ci sono un'etichetta sul modulo, diciamo LabelTest, quindi nel codice sarebbe simile a questa:

string state = "Some text for our label"; 
LabelTest.Text = state; 
LabelTest.ForeColor = System.Drawing.Color.Blue; 

Come è stato detto in altre risposte, per usare più colori, che ci si bisogno di più etichette, ognuna con il proprio testo e set di colori separatamente.

0

// questo è per il colore dell'etichetta

Label1.Text.ForeColor = System.Drawing.Color.Red; 

// questo per il testo enter code here

Label1.Text.ForeColor = System.Drawing.Color.Red;