C# FontDialog Example

You want to allow the user to select a font from the list of installed fonts in your C# Windows Forms program. With the amazing FontDialog control, you can quickly add the ability for users to select their favorite fonts.

FontDialog screenshot

Get started

To start using the FontDialog in a program, add a FontDialog instance, and also a Button and a TextBox to an empty Windows Form. Then, double-click on the Button to insert the button1_Click event handler. In the code for button1_Click, we call the ShowDialog method on the FontDialog instance.

Example program that opens FontDialog [C#]

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
	public Form1()
	{
	    InitializeComponent();
	}

	private void button1_Click(object sender, EventArgs e)
	{
	    // Show the dialog.
	    DialogResult result = fontDialog1.ShowDialog();
	    // See if OK was pressed.
	    if (result == DialogResult.OK)
	    {
		// Get Font.
		Font font = fontDialog1.Font;
		// Set TextBox properties.
		this.textBox1.Text = string.Format("Font is: {0}", font.Name);
		this.textBox1.Font = font;
	    }
	}
    }
}

Checking DialogResult. As always in Windows Forms, you can check the DialogResult returned by ShowDialog for the DialogResult.OK value. With the FontDialog, we can access the Font property. Then, we can set a TextBox instance to use that Font instance.

Font TypeFont screenshot

Program screenshot. In the above screenshot, you can see the program that was created in this tutorial. The Button is linked to the button1_Click event handler; the TextBox is then changed to have the Font that was specified in the FontDialog.

FixedPitchOnly

What does the FixedPitchOnly property on the FontDialog do? This changes the list of fonts in the dialog so that only the monospace ("fixed") ones are shown. So no fonts like Times New Roman or Arial will be shown; only fonts like Courier New will be present.

ShowColor

You can also change the ShowColor property to true to add a small color chooser to the FontDialog. Another option you have is the ColorDialog control, which offers more options.

ColorDialog Example: Windows Forms .NET

ShowEffects

The ShowEffects property can be set to True or False. If you set it to False, the left-hand control group will disappear. If you disable ShowEffects, the color chooser drop-down will also be hidden.

Summary

.NET Framework information

The FontDialog control provides a complete font chooser for your C# Windows Forms programs. Because the dialog is built into Windows, its appearance may change depending on the version of Windows (or other operating system) the program is running in.

Windows Forms
.NET