2017-05-10 3 views
0

Ich möchte den Stil der Schriftart eines Steuerelements basierend auf Eingabe vom Benutzer oder von gespeicherten Daten in der Datenbank ändern. Ich versuchte viele Möglichkeiten, um die neue Schriftart in einem Satz zu erstellen, aber ich konnte nicht.So konfigurieren Sie Schriftart basierend auf externen Parameter

Schließlich landete ich

 FontStyle fs = button1.Font.Style; 

     if (Bold.Checked == true) 
      fs |= FontStyle.Bold; 
     else 
      fs &= ~FontStyle.Bold; 
     if (Underline.Checked == true) 
      fs |= FontStyle.Underline; 
     else 
      fs &= ~FontStyle.Underline; 
     if (Italic.Checked == true) 
      fs |= FontStyle.Italic; 
     else 
      fs &= ~FontStyle.Italic; 
     if (Strikeout.Checked == true) 
      fs |= FontStyle.Strikeout; 
     else 
      fs &= ~FontStyle.Strikeout; 

     button1.Font = new Font("Tahoma", (float)27.75, fs); 

Ich weiß, möchte diesen Code zu schreiben bis zu ist es eine intelligente Art und Weise den Schriftstil zu konstruieren?

Antwort

0

Ja. Sie nicht mit den bestehenden FontStyle, aber mit einer Regular oder einer Eigenschaft (es ist Bold in meinem Beispiel, aber Sie jede Eigenschaft wie die ersten, natürlich können) beginnen und einfach bedingt Eigenschaften hinzufügen:

var fs = (Bold.Checked) ? FontStyle.Bold : FontStyle.Regular; 
fs |= (Underline.Checked) ? FontStyle.Underline : FontStyle.Regular; 
fs |= (Italic.Checked) ? FontStyle.Italic : FontStyle.Regular; 
fs |= (Strikeout.Checked) ? FontStyle.Strikeout : FontStyle.Regular; 

button1.Font = new Font("Tahoma", (float)27.75, fs); 
Verwandte Themen