Comment : fermer les boîtes de dialogue et conserver les données entrées par l'utilisateur

Vous pouvez définir le mode de fermeture d'une boîte de dialogue au moment du design ou au moment de l'exécution. Au moment du design, vous pouvez définir la propriété DialogResult pour tous les contrôles Button sur une boîte de dialogue. Au moment de l'exécution, vous pouvez définir la propriété DialogResult afin que vous puissiez gérer dynamiquement les réponses d'utilisateur.

Notes

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée.Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils.Pour plus d'informations, consultez Paramètres Visual Studio.

Pour définir la propriété DialogResult d'un contrôle au moment du design

  1. Cliquez sur le contrôle Button pour lequel vous souhaitez définir la propriété.

  2. Sélectionnez la fenêtre Propriétés, sélectionnez la propriété DialogResult et ouvrez la liste des valeurs de propriété disponibles.

  3. Sélectionnez le résultat approprié pour la boîte de dialogue.

    Vous pouvez définir le résultat de la boîte de dialogue pour les actions accomplies par l'utilisateur autres que le fait de cliquer sur un contrôle Button. Si votre boîte de dialogue ne contient pas de boutons permettant sa fermeture, vous pouvez définir son résultat au moment de l'exécution.

Pour définir par programme la propriété DialogResult d'un contrôle ou d'un formulaire

  1. Naviguez jusqu'au gestionnaire d'événements ou à la méthode pour lequel vous voulez définir la propriété DialogResult.

  2. Créez un code similaire à l'exemple de code suivant.

    Public Sub InformationProcessed()
       ' This code will set the DialogResult for a form.
       Me.DialogResult = DialogResult.Yes
       ' OR
       ' This code will set the DialogResult for a button.
       Button1.DialogResult = DialogResult.No
    End Sub
    
    private void InformationProcessed() 
    {
       // This code will set the DialogResult for a form.
       DialogResult = DialogResult.Yes;
       // OR
       // This code will set the DialogResult for a button.
       button1.DialogResult = DialogResult.No;
    }
    
    private:
       void InformationProcessed()
       {
          // This code will set the DialogResult for a form.
          this->DialogResult = DialogResult::Yes;
          // OR
          // This code will set the DialogResult for a button.
          button1->DialogResult = DialogResult::No;
       }
    

    Bien que la définition de la propriété DialogResult ferme automatiquement votre boîte de dialogue, vous pouvez toujours gérer l'événement Click du contrôle, auquel cas la boîte de dialogue se ferme une fois le code du Gestionnaire d'événements terminé. Pendant que vous prenez en charge l'événement Click, vous pouvez vouloir arrêter la fermeture de la boîte de dialogue.

Pour empêcher la propriété DialogResult de fermer la boîte de dialogue

  • Dans le gestionnaire d'événements, créez un code similaire à l'exemple de code suivant.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
       Me.DialogResult = DialogResult.None
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e) 
    {
       DialogResult = DialogResult.None;
    }
    
    private:
       void button1_Click(System::Object ^ sender,
          System::EventArgs ^ e) 
       {
          this->DialogResult = DialogResult::None;
       }
    

    Notes

    Vous pouvez également recourir à l'événement Closing du formulaire pour arrêter la fermeture d'une boîte de dialogue.

Voir aussi

Tâches

Comment : créer des boîtes de dialogue au moment du design

Comment : récupérer le résultat des boîtes de dialogue

Concepts

Données entrées par l'utilisateur dans les boîtes de dialogue

Autres ressources

Boîtes de dialogue dans les Windows Forms