Form.ShowDialog Méthode

Définition

Affiche le formulaire comme une boîte de dialogue modale.

Surcharges

ShowDialog()

Affiche le formulaire comme une boîte de dialogue modale.

ShowDialog(IWin32Window)

Affiche le formulaire comme une boîte de dialogue modale avec le propriétaire spécifié.

ShowDialog()

Affiche le formulaire comme une boîte de dialogue modale.

public:
 System::Windows::Forms::DialogResult ShowDialog();
public System.Windows.Forms.DialogResult ShowDialog ();
member this.ShowDialog : unit -> System.Windows.Forms.DialogResult
Public Function ShowDialog () As DialogResult

Retours

DialogResult

Une des valeurs de l'objet DialogResult.

Exceptions

Le formulaire affiché est déjà visible.

  • ou - Le formulaire affiché est désactivé.

  • ou - Le formulaire affiché n'est pas une fenêtre de niveau supérieur.

  • ou - Le formulaire affiché comme une boîte de dialogue est déjà un formulaire modal.

  • ou - Le processus actuel ne s'exécute pas en mode interactif avec l'utilisateur (pour plus d'informations, consultez UserInteractive).

Exemples

L’exemple suivant affiche un formulaire sous forme de boîte de dialogue modale et évalue la valeur de retour de la boîte de dialogue avant de déterminer s’il faut lire la valeur d’un TextBox contrôle dans le formulaire de boîte de dialogue. Cet exemple nécessite qu’un Form nom testDialog soit créé et qu’il contient un TextBox contrôle nommé TextBox1. En outre, l’exemple nécessite que le code de cet exemple soit contenu et appelé à partir d’une autre Form pour s’afficher testDialog en tant que boîte de dialogue modale. L’exemple utilise la version de celle-ci spécifie un propriétaire pour la boîte de ShowDialog dialogue.

void ShowMyDialogBox()
{
   Form2^ testDialog = gcnew Form2;
   
   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
   {
      
      // Read the contents of testDialog's TextBox.
      this->txtResult->Text = testDialog->TextBox1->Text;
   }
   else
   {
      this->txtResult->Text = "Cancelled";
   }

   delete testDialog;
}
public void ShowMyDialogBox()
{
   Form2 testDialog = new Form2();

   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }
   testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
    Dim testDialog As New Form2()
    
    ' Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        ' Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub

Remarques

Vous pouvez utiliser cette méthode pour afficher une boîte de dialogue modale dans votre application. Lorsque cette méthode est appelée, le code suivant n’est pas exécuté tant que la boîte de dialogue n’est pas fermée. La boîte de dialogue peut être affectée à l’une des valeurs de l’énumération DialogResult en l’affectant à la DialogResult propriété d’un Button formulaire ou en définissant la DialogResult propriété du formulaire dans le code. Cette valeur est ensuite retournée par cette méthode. Vous pouvez utiliser cette valeur de retour pour déterminer comment traiter les actions qui se sont produites dans la boîte de dialogue. Par exemple, si la boîte de dialogue a été fermée et retournée la valeur par le biais de cette méthode, vous pouvez empêcher le DialogResult.Cancel code suivant l’appel à ShowDialog exécuter.

Lorsqu’un formulaire est affiché sous la forme d’une boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (le bouton avec un X situé dans le coin supérieur droit du formulaire) entraîne l’affichage du formulaire et la DialogResult propriété à définir DialogResult.Cancelsur . Contrairement aux formulaires non modals, la Close méthode n’est pas appelée par l'.NET Framework lorsque l’utilisateur clique sur le bouton Fermer le formulaire d’une boîte de dialogue ou définit la valeur de la DialogResult propriété. Au lieu de cela, le formulaire est masqué et peut être affiché à nouveau sans créer une nouvelle instance de la boîte de dialogue. Étant donné qu’un formulaire affiché sous forme de boîte de dialogue est masqué au lieu de fermé, vous devez appeler la Dispose méthode du formulaire lorsque le formulaire n’est plus nécessaire par votre application.

Cette version de la ShowDialog méthode ne spécifie pas de formulaire ou de contrôle comme propriétaire. Lorsque cette version est appelée, la fenêtre active est rendue propriétaire de la boîte de dialogue. Si vous souhaitez spécifier un propriétaire spécifique, utilisez la autre version de cette méthode.

Voir aussi

S’applique à

ShowDialog(IWin32Window)

Affiche le formulaire comme une boîte de dialogue modale avec le propriétaire spécifié.

public:
 System::Windows::Forms::DialogResult ShowDialog(System::Windows::Forms::IWin32Window ^ owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window? owner);
member this.ShowDialog : System.Windows.Forms.IWin32Window -> System.Windows.Forms.DialogResult
Public Function ShowDialog (owner As IWin32Window) As DialogResult

Paramètres

owner
IWin32Window

Tout objet qui implémente IWin32Window et représente la fenêtre de niveau supérieur à laquelle va appartenir la boîte de dialogue modale.

Retours

DialogResult

Une des valeurs de l'objet DialogResult.

Exceptions

Le formulaire spécifié par le paramètre owner est le même que le formulaire affiché.

Le formulaire affiché est déjà visible.

  • ou - Le formulaire affiché est désactivé.

  • ou - Le formulaire affiché n'est pas une fenêtre de niveau supérieur.

  • ou - Le formulaire affiché comme une boîte de dialogue est déjà un formulaire modal.

  • ou - Le processus actuel ne s'exécute pas en mode interactif avec l'utilisateur (pour plus d'informations, consultez UserInteractive).

Exemples

L’exemple suivant affiche un formulaire sous forme de boîte de dialogue modale et évalue la valeur de retour de la boîte de dialogue avant de déterminer s’il faut lire la valeur d’un TextBox contrôle dans le formulaire de boîte de dialogue. Cet exemple exige qu’un Form nommé Form2 soit créé et qu’il contient un TextBox contrôle nommé TextBox1. L’exemple utilise la version de ShowDialog ce qui spécifie un propriétaire pour la boîte de dialogue.

void ShowMyDialogBox()
{
   Form2^ testDialog = gcnew Form2;
   
   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
   {
      
      // Read the contents of testDialog's TextBox.
      this->txtResult->Text = testDialog->TextBox1->Text;
   }
   else
   {
      this->txtResult->Text = "Cancelled";
   }

   delete testDialog;
}
public void ShowMyDialogBox()
{
   Form2 testDialog = new Form2();

   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }
   testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
    Dim testDialog As New Form2()
    
    ' Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        ' Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub

Remarques

Vous pouvez utiliser cette méthode pour afficher une boîte de dialogue modale dans votre application. Lorsque cette méthode est appelée, le code suivant n’est pas exécuté tant que la boîte de dialogue n’est pas fermée. La boîte de dialogue peut être affectée à l’une des valeurs d’un DialogResult en l’affectant à la DialogResult propriété d’un Button formulaire ou en définissant la DialogResult propriété du formulaire dans le code. Cette valeur est ensuite retournée par cette méthode. Vous pouvez utiliser cette valeur de retour pour déterminer comment traiter les actions qui se sont produites dans la boîte de dialogue. Par exemple, si la boîte de dialogue a été fermée et retournée la valeur par le biais de cette méthode, vous pouvez empêcher le DialogResult.Cancel code suivant l’appel à ShowDialog exécuter.

Lorsqu’un formulaire est affiché sous la forme d’une boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (le bouton avec un X situé dans le coin supérieur droit du formulaire) entraîne l’affichage du formulaire et la DialogResult propriété à définir DialogResult.Cancelsur . Contrairement aux formulaires sans mode, la Close méthode n’est pas appelée par l'.NET Framework lorsque l’utilisateur clique sur le bouton fermer d’une boîte de dialogue ou définit la valeur de la DialogResult propriété. Au lieu de cela, le formulaire est masqué et peut être affiché à nouveau sans créer une nouvelle instance de la boîte de dialogue. Étant donné qu’un formulaire affiché sous forme de boîte de dialogue est masqué au lieu de fermé, vous devez appeler la Dispose méthode du formulaire lorsque le formulaire n’est plus nécessaire par votre application.

Cette version de la ShowDialog méthode vous permet de spécifier un formulaire spécifique qui possède la boîte de dialogue affichée.

Voir aussi

S’applique à