2013-07-20 15 views
5

Ho un'etichetta con testo in Grassetto e Corsivo. Voglio cambiare quelle proprietà del carattere con un clic del tasto.Cambia stile carattere

ho avuto modo di conoscere il codice Label1.Font = new Font(Label1.Font, FontStyle.Regular);

Ma da questo codice si annulla entrambe BOLD & ITALIC proprietà. Voglio solo rimuovere grassetto proprietà .....

C'è qualcosa come fontsyle.bold = false?

+0

Testo supplementare come più punti esclamativi e "note di ringraziamento" non sono necessari. Discutere su [meta] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts). –

risposta

9

Uso Font.Style del font originale durante la creazione di uno nuovo, utilizzare & ~ per capovolgere stili

label1.Font = new Font(label1.Font, label1.Font.Style & ~FontStyle.Bold); 
4

si può provare anche questo -

label1.Font = new Font("Arial", 24,FontStyle.Bold); 

o

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size); 

Il costruttore prende diversi parametri. see more

1

L'opzione migliore è quello di utilizzare bitcodes e l'operatore XOR^

provare questo codice:

Label1.Font = new Font(Label1.Font.Style^FontStyle.Regular); 
+0

La risposta accettata non ha funzionato per me ... questo ha fatto! Ho imparato qualcosa di nuovo da qualcuno con solo 1 rappresentante. :-) Suppongo che ci fosse un tempo in cui Mr. Skeet aveva solo 1 rappresentante ... –