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 la forme d’une 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 requiert qu’un Form nommé testDialog soit créé et qu’il contienne un TextBox contrôle nommé TextBox1 . En outre, l’exemple requiert que le code de cet exemple soit contenu et appelé à partir d’un différent Form afin d’être affiché testDialog comme 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 le suit n’est pas exécuté tant que la boîte de dialogue n’est pas fermée. L’une des valeurs de l’énumération peut être assignée à la boîte de dialogue DialogResult en l’assignant à 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 que la valeur est retournée DialogResult.Cancel par le biais de cette méthode, vous pouvez empêcher le code qui suit l’appel à ShowDialog de s’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 dans l’angle supérieur droit du formulaire) entraîne le masquage du formulaire et la définition de la DialogResult propriété DialogResult.Cancel . contrairement aux formulaires non modaux, 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 s’afficher à nouveau sans créer une nouvelle instance de la boîte de dialogue. Comme un formulaire affiché en tant que boîte de dialogue est masqué et non 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 son propriétaire. Lorsque cette version est appelée, la fenêtre actuellement active devient 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);
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 la forme d’une 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 requiert 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 le suit n’est pas exécuté tant que la boîte de dialogue n’est pas fermée. La boîte de dialogue peut recevoir l’une des valeurs de DialogResult 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 que la valeur est retournée DialogResult.Cancel par le biais de cette méthode, vous pouvez empêcher le code qui suit l’appel à ShowDialog de s’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 dans l’angle supérieur droit du formulaire) entraîne le masquage du formulaire et la définition de la DialogResult propriété 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 s’afficher à nouveau sans créer une nouvelle instance de la boîte de dialogue. Comme un formulaire affiché en tant que boîte de dialogue est masqué et non 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 possédera la boîte de dialogue qui s’affiche.

Voir aussi

S’applique à