20

System.Drawing.Fontクラスのコンストラクターを見ると、System.Drawing.FontStyle列挙型で定義されているFontStylesの1つを渡すためのパラメーターがあります。

すなわち。太字の斜体の通常の下線

インスタンス化されたオブジェクトには、太字、斜体、下線などのブールプロパティがありますが、これらは読み取り専用です。

太字や下線などの複数のスタイルを持つようにフォントを定義したい場合はどうなりますか?

これどうやってするの?

4

3 に答える 3

44

FontStyle列挙型は列挙Flags型です。これは、そのメンバーがすべて2の累乗であることを意味し、バイナリORを使用してそれらを組み合わせることができます。

たとえば、太字で下線を付けたい場合は、合格します

FontStyle.Bold | FontStyle.Underline

縦棒(|)はバイナリOR演算子です。

于 2010-05-11T17:58:20.720 に答える
11

Fontコンストラクターでは、OR演算子を使用して複数のFontStylesを組み合わせることができます。

Font font = new Font(this.Font, FontStyle.Bold | FontStyle.Underline);
于 2010-05-11T17:59:16.830 に答える
0

ケースごとに複数のifを回避するために、次のようなものを使用できます。

//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);
于 2014-05-19T12:48:00.737 に答える