J'ai un formulaire qui peut ouvrir un sous-formulaire (avec ShowDialog
). Je veux m'assurer que le sous-formulaire est correctement éliminé lorsque le formulaire principal est terminé. J'ai essayé d'ajouter le sous-formulaire au membre components
du formulaire principal, mais pour le moment j'ai obtenu un ArgumentNullException
.
Je sais que je peux simplement instancier le components
moi-même, mais n'est-ce pas un peu dangereux? Un jour, j'ajouterai un composant dans la vue du concepteur, ce qui générera la ligne new Container()
dans le fichier designer.cs, et je ne saurai jamais que j'ai deux composants qui tournent autour du tas.
Existe-t-il un moyen plus simple de s'assurer que le sous-formulaire est éliminé?WinForm disposant d'un sous-formulaire lorsque le formulaire est disposé
EDIT - déplacé ma solution à une réponse
La forme secondaire peut être ouvert plus d'une fois, avec différentes données. Je ne veux pas créer une nouvelle instance chaque fois que je l'ouvre. –
Mais pourquoi vous inquiétez-vous de l'éliminer alors? Quelles sont les ressources que vous utilisez à ce sujet qui ne seraient pas éliminées après un appel de dialogue? – Spence
Après ShowDialog, le formulaire n'est pas automatiquement éliminé. De cette façon, je peux accéder à DialogResult (qui est la raison pour ne pas l'éliminer automatiquement), et juste ShowDialog encore et encore (c'est pourquoi je l'utilise). Je veux m'assurer que le sous-formulaire est éliminé lorsque le formulaire principal est disposé. –