Partager via


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

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 nommé testDialog soit créé et qu’il contienne un TextBox contrôle nommé TextBox1. En outre, l’exemple exige que le code de cet exemple soit contenu et appelé à partir d’un autre Form afin de s’afficher testDialog sous la forme d’une boîte de dialogue modale. L’exemple utilise la version de ShowDialog 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 qui la suit n’est exécuté qu’après la fermeture de la boîte de dialogue. Vous pouvez affecter l’une des valeurs de l’énumération DialogResult à la boîte de dialogue en l’affectant à la DialogResult propriété d’un Button sur le 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 a retourné la DialogResult.Cancel valeur via cette méthode, vous pouvez empêcher l’exécution du code suivant l’appel à ShowDialog .

Lorsqu’un formulaire s’affiche sous forme de boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (bouton avec un X en haut à droite du formulaire) entraîne la masquage du formulaire et la définition de la DialogResult propriété sur DialogResult.Cancel. Contrairement aux formulaires non modals, la Close méthode n’est pas appelée par le .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 d’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 votre application n’a plus besoin du formulaire.

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 actuellement active est le propriétaire de la boîte de dialogue. Si vous souhaitez spécifier un propriétaire spécifique, utilisez l’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

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 nécessite qu’un Form nommé Form2 soit créé et qu’il contienne un TextBox contrôle nommé TextBox1. L’exemple utilise la version de ShowDialog 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 qui la suit n’est exécuté qu’après la fermeture de la boîte de dialogue. Vous pouvez affecter l’une des valeurs de à la boîte de DialogResult dialogue en l’affectant à la DialogResult propriété d’un Button sur le 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 a retourné la DialogResult.Cancel valeur via cette méthode, vous pouvez empêcher l’exécution du code suivant l’appel à ShowDialog .

Lorsqu’un formulaire s’affiche sous forme de boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (bouton avec un X en haut à droite du formulaire) entraîne la masquage du formulaire et la définition de la DialogResult propriété sur DialogResult.Cancel. Contrairement aux formulaires sans mode, la Close méthode n’est pas appelée par le .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 d’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 votre application n’a plus besoin du formulaire.

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

Voir aussi

S’applique à