2010-05-11 19 views
14

System.Drawing.FontStyle enum tanımlanan fontstyles birinde iletmek için bir parametre vardır.Yazı tipi oluştururken birden fazla FontStyles nasıl ayarlanır? System.Drawing.Font sınıfı için kurucular baktığımızda

ie. Kalın İtalik Düzenli Altı çizili

ve orada Kalın, italik, altı çizili vb boole özellikleri örneği nesnede, ancak sadece okunur.

Ne Kalın gibi birden stilleri ve Altını benim yazı tanımlamak istiyorsanız?

Bunu nasıl yapabilirim?

cevap

31

FontStyle enum, Flags enum'dur. Bunun anlamı, üyelerin iki yetkilendirmesidir ve bunları ikili OR kullanarak birleştirmenizi sağlar. Eğer cesur istiyor ve altı çizili eğer

Örneğin, sen

dikey çubuk ( |)
FontStyle.Bold | FontStyle.Underline 

ikili VEYA operatörüdür geçerdi.

Font font = new Font(this.Font, FontStyle.Bold | FontStyle.Underline); 
+0

çalıştı Yazı Yapıcıda – anon58192932

10

, sen VEYA operatörünü kullanarak birden fontstyles birleştirebilir mükemmel teşekkür ederim! Bu tür şeyler, bize Java bağımlıları için yeni kavramlar.
0

Her durum için birden IFS önlemek için, böyle bir şey kullanabilirsiniz:

//define a font to use. 
Font font; 

font = new Font(fontname, fontsize, GraphicsUnit.Pixel); 

if (bold) 
    font = new Font(font, font.Style^FontStyle.Bold); 
if (italic) 
    font = new Font(font, font.Style^FontStyle.Italic); 
if (underline) 
    font = new Font(font, font.Style^FontStyle.Underline); 
if (strikeout) 
    font = new Font(font, font.Style^FontStyle.Strikeout); 
+0

Bu çok verimsiz ... Birden çok stili bir kerede ayarlamak için enum işaretlerini kullanın. – Tim

İlgili konular