J'ai une forme principale à partir de laquelle je génère plusieurs sous-formulaires. Je stocke ces formes dans une variable List<Subform^> ^
afin que je puisse leur envoyer des messages à partir du formulaire principal. Je charge de nouvelles formes comme celle-ci (de la mémoire, peut-être pas compiler):Communication entre formulaires
Subform ^sf = gcnew Subform(some, variables, here);
subforms->Add(sf);
subforms[subforms.Count-1]->Show();
Mon but est de supprimer le sous-formulaire de la liste une fois qu'il est fermé. J'ai envisage de passer à un dictionnaire pour l'identification de forme simple, comme ceci:
++i; // Some sort of a form counter. to access them when closing.
Subform ^sf = gcnew Subform(some, variables, here);
subforms->Add(i, sf);
subforms[i]->Show();
Comment pourrais-je supprimer le formulaire ieme lors de la fermeture? Peut-être quelque chose comme ceci (en pseudocode)
sf->FormClosed = subforms->RemoveAt[i]; // Before I add it to the dictionary.
?
Vous pouvez toujours utiliser une liste au lieu d'un dictionnaire. Mais vous devrez parcourir la liste pour trouver le formulaire que vous voulez supprimer. –