Upraviť

Zdieľať cez


FontDialog.FontMustExist Property

Definition

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.

public:
 property bool FontMustExist { bool get(); void set(bool value); };
public bool FontMustExist { get; set; }
member this.FontMustExist : bool with get, set
Public Property FontMustExist As 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.

Examples

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.

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 += gcnew System::EventHandler( this, &Form1::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
   System::Windows::Forms::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, gcnew System::EventArgs );
   }
   // If Cancel is clicked, set the font back to
   // the original font.
   else
   
   // If Cancel is clicked, set the font back to
   // the original font.
   if ( result == ::DialogResult::Cancel )
   {
      this->Font = oldFont;
      System::Collections::IEnumerator^ myEnum = this->Controls->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Control^ containedControl = safe_cast<Control^>(myEnum->Current);
         containedControl->Font = oldFont;
      }
   }
}


// Handle the Apply event by setting all controls' fonts to 
// the chosen font. 
void FontDialog1_Apply( Object^ sender, System::EventArgs^ e )
{
   this->Font = FontDialog1->Font;
   System::Collections::IEnumerator^ myEnum1 = this->Controls->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      Control^ containedControl = safe_cast<Control^>(myEnum1->Current);
      containedControl->Font = FontDialog1->Font;
   }
}
   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;
       }
   }
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

Applies to

See also