How to set multiple FontStyles when instantiating a font?

etoisarobot picture etoisarobot · May 11, 2010 · Viewed 24.1k times · Source

In looking at the constructors for the System.Drawing.Font class there is a parameter to pass in one of the FontStyles defined in the System.Drawing.FontStyle enum.

ie. Bold Italic Regular Underline

and there are boolean properties for Bold, Italic, Underline etc. in the instantiated object, but they are read only.

What if I want to define my font to have multiple styles like Bold and Underline?

How can I do this?

Answer

Adam Robinson picture Adam Robinson · May 11, 2010

The FontStyle enum is a Flags enum. This means that its members are all powers of two, allowing you to combine them using a binary OR.

For example, if you want bold and underline, you'd pass

FontStyle.Bold | FontStyle.Underline

The vertical bar (|) is the binary OR operator.