FontMustExist Property

FontDialog.FontMustExist Property

Gets or sets a value indicating whether the dialog box specifies an error condition if the user attempts to select a font or style that does not exist.

[Visual Basic]
Public Property FontMustExist As Boolean
[C#]
public bool FontMustExist {get; set;}
[C++]
public: __property bool get_FontMustExist();
public: __property void set_FontMustExist(bool);
[JScript]
public function get FontMustExist() : Boolean;
public function set FontMustExist(Boolean);

Property Value

true if the dialog box specifies an error condition when the user tries to select a font or style that does not exist; otherwise, false. The default is false.

Example

[Visual Basic, C#] The following code example demonstrates using the MinSize, MaxSize, ShowEffects and FontMustExist members and handling the Apply event. To run this example paste the following code in a form containing a FontDialog named FontDialog1 and a Button named Button1. Ensure the button's click event is associated with its event-handling method.

[Visual Basic] 
Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    ' Set FontMustExist to true, which causes message box error
    ' if the user enters a font that does not exist. 
    FontDialog1.FontMustExist = True

    ' Set a minimum and maximum size to be
    ' shown in the FontDialog.
    FontDialog1.MaxSize = 32
    FontDialog1.MinSize = 18

    ' Show the Apply button in the dialog.
    FontDialog1.ShowApply = True

    ' Do not show effects such as Underline
    ' and Bold.
    FontDialog1.ShowEffects = False

    ' Save the existing font.
    Dim oldFont As System.Drawing.Font = Me.Font

    ' Show the dialog and save the result.
    Dim result As DialogResult = FontDialog1.ShowDialog()

    ' If The OK button in the Font dialog box is clicked, 
    ' set all the controls' fonts to the chosen font by
    ' calling the FontDialog1_Apply method.
    If result = DialogResult.OK Then
        FontDialog1_Apply(Me.Button1, New System.EventArgs)

        ' If the Cancel button is clicked, set the controls'
        ' fonts back to the original font.
    ElseIf (result = DialogResult.Cancel) Then
        Dim containedControl As Control
        For Each containedControl In Me.Controls
            containedControl.Font = oldFont
        Next

    End If
End Sub

' Handle the Apply event by setting all controls' fonts to 
' the chosen font. 
Private Sub FontDialog1_Apply(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles FontDialog1.Apply

    Me.Font = FontDialog1.Font
    Dim containedControl As Control
    For Each containedControl In Me.Controls
        containedControl.Font = FontDialog1.Font
    Next
End Sub

[C#] 
private void Button1_Click(System.Object sender, System.EventArgs e)
{
    // Set FontMustExist to true, which causes message box error
    // if the user enters a font that does not exist. 
    FontDialog1.FontMustExist = true;
    
    // Associate the method handling the Apply event with the event.
    FontDialog1.Apply += new System.EventHandler(FontDialog1_Apply);

    // Set a minimum and maximum size to be
    // shown in the FontDialog.
    FontDialog1.MaxSize = 32;
    FontDialog1.MinSize = 18;

    // Show the Apply button in the dialog.
    FontDialog1.ShowApply = true;

    // Do not show effects such as Underline
    // and Bold.
    FontDialog1.ShowEffects = false;
    
    // Save the existing font.
    System.Drawing.Font oldFont = this.Font;

    //Show the dialog, and get the result
    DialogResult result = FontDialog1.ShowDialog();
 
    // If the OK button in the Font dialog box is clicked, 
    // set all the controls' fonts to the chosen font by calling
    // the FontDialog1_Apply method.
    if (result == DialogResult.OK)
    {
        FontDialog1_Apply(this.Button1, new System.EventArgs());
    }
        // If Cancel is clicked, set the font back to
        // the original font.
    else if (result == DialogResult.Cancel)
    {
        this.Font = oldFont;
        foreach ( Control containedControl in this.Controls)
        {
            containedControl.Font = oldFont;
        }
    }
}

// Handle the Apply event by setting all controls' fonts to 
// the chosen font. 
private void FontDialog1_Apply(object sender, System.EventArgs e)
{

    this.Font = FontDialog1.Font;
    foreach ( Control containedControl in this.Controls )
    {
        containedControl.Font = FontDialog1.Font;
    }
}

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

FontDialog Class | FontDialog Members | System.Windows.Forms Namespace | FixedPitchOnly | ScriptsOnly

Show:
© 2016 Microsoft