2009-09-07 8 views
4

Je souhaite afficher un modal d'entrée dans mon application WinForm. J'ai regardé autour du Web, mais n'ai pas trouvé un bon modèle pour faire ceci. Je comprends que je devrais créer un autre formulaire et utiliser la méthode ShowDialog.Afficher la boîte de dialogue d'entrée dans WinForms

+0

http://www.reflectionit.nl/Articles/InputBox.aspx a un exemple. –

Répondre

15

Vous avez raison.

Notez que les boîtes de dialogue modales ne sont pas éliminés automatiquement en position fermée (contrairement à des boîtes de dialogue non modale), de sorte que vous voulez un modèle comme:

using (FrmModal myForm = new FrmModal()) 
{ 
    DialogResult dr = myForm.ShowDialog(); 
    if (dr == DialogResult.OK) 
    { 
     // ... 
    } 
    else 
    { 
     // ... 
    } 
} 

Dans la nouvelle forme elle-même (que j'ai appelé FrmModal), mis la propriété DialogResult dans vos gestionnaires d'événements de bouton de manière appropriée, par exemple Si vous avez un bouton OK, vous devez définir DialogResult = DialogResult.OK dans le gestionnaire d'événements de ce bouton, puis appeler Close() pour fermer le formulaire.

+1

Petit commentaire: Définition d'un formulaire DialogResult! = None est suffisant pour le fermer. –

Questions connexes