在查看System.Drawing.Font類的構造函數時,需要在System.Drawing.FontStyle枚舉中定義的FontStyles之一中傳入一個參數。如何在實例化字體時設置多個FontStyles?
即。 粗體斜體 定期 下劃線
而且有粗體,斜體,下劃線等布爾屬性的實例化對象,但它們是隻讀的。
如果我想定義我的字體具有多種樣式,如粗體和下劃線,該怎麼辦?
我該怎麼做?
在查看System.Drawing.Font類的構造函數時,需要在System.Drawing.FontStyle枚舉中定義的FontStyles之一中傳入一個參數。如何在實例化字體時設置多個FontStyles?
即。 粗體斜體 定期 下劃線
而且有粗體,斜體,下劃線等布爾屬性的實例化對象,但它們是隻讀的。
如果我想定義我的字體具有多種樣式,如粗體和下劃線,該怎麼辦?
我該怎麼做?
FontStyle
枚舉是一個Flags
枚舉。這意味着它的成員都是二的權力,允許你使用一個二進制OR來組合它們。
舉例來說,如果你要大膽和下劃線,你會通過
FontStyle.Bold | FontStyle.Underline
豎線(|
)是二進制或運算。
在字體構造器,你可以結合使用OR運算符的多個FontStyles:
Font font = new Font(this.Font, FontStyle.Bold | FontStyle.Underline);
你可以使用這樣的事情,爲了避免多次IFS每個案例:
//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);
這是非常低效的......使用標誌枚舉一次設置多個樣式。 – Tim 2015-08-11 14:51:08
曾任職非常感謝你!這些類型的東西對於我們Java的愛好者來說都是新概念。 – anon58192932 2012-10-16 22:00:53