Un Gestionnaire d'Événements à la fermeture de Bouton est cliqué dans le formulaire windows
Je me demandais si il y a des gestionnaires d'événements si l'utilisateur a cliqué sur le bouton fermer dans un formulaire windows. Mon plan initial était lorsque l'utilisateur clique sur le bouton fermer, il va retourner un booléen à l'appelant ou à la personne qui a appelé cette forme. par exemple
public void newWindow(){
NewForm nw = new NewForm();
nw.ShowDialog();
if(nw.isClosed){
do something
}
}
est-ce possible?
Abonnez-vous à la FormClose ou FormClosing événements de la forme.
Que voulez-vous dire?
Système.De Windows.Les formes de la classe ne esposes certains événements. Faire passer par ses MSDN. Vous pourrez vous faire une idée sur la façon d'obtenir le formulaire de clôture de l'événement
Que voulez-vous dire?
Système.De Windows.Les formes de la classe ne esposes certains événements. Faire passer par ses MSDN. Vous pourrez vous faire une idée sur la façon d'obtenir le formulaire de clôture de l'événement
OriginalL'auteur user962206 | 2012-03-26
Vous devez vous connecter pour publier un commentaire.
Si vous êtes en utilisant .ShowDialog(), vous pouvez obtenir un résultat via la propriété DialogResult.
Alors cliquez sur gestionnaires d'événements sur Form1:
Si vous ne voulez pas ouvrir la nouvelle forme de dialogue, vous pouvez le faire:
Merci Cela a fonctionné! Je ne savais pas que ShowDialog() renvoie un dialogresult
OriginalL'auteur Eric Dahlvang
Vous devriez jeter un oeil à la FormClosing Événement ou depuis que vous êtes à l'aide de
ShowDialog
vous pouvez faire quelque chose comme cela. Vous pouvez également modifier laDialogResult
qui est retourné dans laFormClosing
Événement.Vous pouvez modifier la DialogResult dans le FormClosing Méthode de NewForm et tester avec le code que j'ai montré. Lorsque vous Cliquez sur le X pour fermer la Forme du défaut DialogResult est Annuler
OriginalL'auteur Mark Hall
Vous y êtes presque!
Vous n'avez pas besoin de la
if(nw.isClosed)
, la lignedo something
ne exécuté que lorsquenw
sera ferméSi vous avez besoin de "retour" d'une valeur à partir de ce dialogue, à savoir: Le dialogue n'est pas immédiatement libérée lorsque vous le fermez. Si vous pouvez faire quelque chose comme ceci:
C'est juste un exemple de ce que vous voulez faire si vous voulez l'acces a une valeur de l'autre forme. Sinon, vous pouvez la remplacer par une doSomething() de l'appel de méthode ou tout autre chose qui convient à vos besoins. Il sera exécuté lorsque la boîte de dialogue formulaire est fermé
OriginalL'auteur Mathieu