2010-10-19 17 views
5

Ho codice come questo.C# applica Colore a Carattere

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#101B83"); 
System.Drawing.Font nameFont = new System.Drawing.Font("Tahoma", 10); 
System.Drawing.Font birthdayFont = new System.Drawing.Font("Tahoma", 6); 
System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black); 
nameFont.Color = col; 

L'ultima riga non funziona, perché il campo Colore non è stato trovato. Perché?

+0

Avete mai sentito parlare di 'namespace '? – Mike

risposta

12

Perché un carattere non ha un colore. Un controllo può eseguire il rendering del testo utilizzando un carattere e un colore, ma il colore non è una proprietà del carattere.

EDIT:

Se si desidera una casella di testo che utilizza un determinato tipo di carattere e il colore è possibile effettuare le seguenti operazioni (sto supponendo che si sta utilizzando WinForms):

var myTextBox = new TextBox(); 
myTextBox.ForeColor = col; 
myTextBox.Font = birthdayFont; 
myTextBox.Text = "Happy birthday!"; 

this.Controls.Add(myTextBox); 
+0

Ho visto un esempio di utilizzo del colore nei tutorial ... ok .. Come farlo con Control? –

+0

@Toktik Ho aggiornato la mia risposta. –

2

Fonts fare non avere colori Si utilizzano i colori nel codice del disegno stesso o con la proprietà Control.ForeColor

1

impostare il colore sulla proprietà ForeColor del controllo. questo imposterà il colore desiderato del tuo font. Non è possibile impostare direttamente il colore sul carattere. dovrai impostare font e forecolor separatamente per il controllo.

Problemi correlati