Control.Font Property

Definition

Gets or sets the font of the text displayed by the control.

C#
public virtual System.Drawing.Font Font { get; set; }

Property Value

The Font to apply to the text displayed by the control. The default is the value of the DefaultFont property.

Examples

The following code example displays a FontDialog to the user and changes the Font of a DateTimePicker control. This example requires that you have a Form with Button and a DateTimePicker on it.

C#
private void myButton_Click(object sender, EventArgs e)
{
   FontDialog myFontDialog = new FontDialog();
   if(myFontDialog.ShowDialog() == DialogResult.OK)
   {
      // Set the control's font.
      myDateTimePicker.Font = myFontDialog.Font;
   }
}

Remarks

The Font property is an ambient property. An ambient property is a control property that, if not set, is retrieved from the parent control. For example, a Button will have the same BackColor as its parent Form by default. For more information about ambient properties, see the AmbientProperties class or the Control class overview.

Because the Font is immutable (meaning that you cannot adjust any of its properties), you can only assign the Font property a new Font. However, you can base the new font on the existing font.

The following is an example of how to adjust the existing font to make it bold:

C#
myControl.Font = new Font(myControl.Font,
    myControl.Font.Style | FontStyle.Bold);

Notes to Inheritors

When overriding the Font property in a derived class, use the base class's Font property to extend the base implementation. Otherwise, you must provide all the implementation. You are not required to override both the get and set accessors of the Font property; you can override only one if needed.

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also