Dans mon application C#, la méthode suivante est appelée lorsque le formulaire principal se ferme.Fermeture du formulaire parent lorsque le formulaire enfant se ferme
private void FormMain_Closing(object sender, FormClosingEventArgs e)
{
// Show this dialog when the user tries to close the main form
Form testForm = new FormTest();
testForm.StartPosition = FormStartPosition.CenterParent;
testForm.ShowDialog();
}
Ceci crée une boîte de dialogue qui affichera la fermeture du formulaire principal. Cependant, mon problème est que lorsque l'utilisateur ferme testForm
, le formulaire principal se ferme immédiatement après. J'ai essayé toutes sortes de variantes de e.Cancel = true;
et ainsi, et ne peut toujours pas annuler la fermeture du formulaire principal.
Des idées?
Edit: on dirait que je suis en cours d'exécution dans un problème en utilisant deux ShowModal()
« s successivement. En regardant dans la question ...
Edit: Utilisé this.DialogResult = DialogResult.None;
et il semble avoir résolu mon problème. Il s'agit apparemment d'un problème connu dans WinForms lors de l'ouverture d'une boîte de dialogue modale à partir d'un dialogue modal.
Je vous suggère de mettre votre solution dans une «réponse» à votre «question» et de la marquer comme la bonne réponse. De cette façon, d'autres personnes sauront que cette question a déjà été répondue - et verront aussi ce que vous avez fait pour résoudre le problème. – Mel