Fermer plusieurs Form avec un seul clic

cs_vagg Messages postés 102 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 janvier 2013 - 29 janv. 2009 à 16:09
thiosyiasar Messages postés 186 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 30 novembre 2010 - 30 janv. 2009 à 15:14
Bonjour,

J'ai un petit problème qui peut paraître simple mais je bloque un peu et les recherches faites ne sont pas très concluantes.

Voila, mon programme est composé de 4Forms
-1 Accueil que je cache .Hide(); (Menu)
-1 Une listView que je cache aussi. (ListInventaire)
-1 Un utilitaire que je ne cache pas, j'affiche au dessus la 4eme (Inventaire)
-1 fenêtre récapitulative, (Recap) dedans un bouton qui me permet de fermer cette fenêtre mais j'aimerais qu'elle ferme aussi celle d'avant.

private void pbCloture_Click(object sender, EventArgs e)
        {                      
                Inventaire Finv = new Inventaire(listArt);
                Finv.Close();
                this.close();          
        }

J'ai entendu parler de beaucoup de chose mais ce n'était pas assez clair ou alors je comprend mal ...

Merci.

4 réponses

thiosyiasar Messages postés 186 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 30 novembre 2010 3
29 janv. 2009 à 16:36
Salut,

Si tu es en MDI, tu as la propriété MdiChildren du formulaire pour énumérer toutes les fenètres.
ex:
foreach(Form oFrm in oMdiForm.MdiChildren)
oFrm.Close();


Sinon, il te faut une référence vers chaque fenètre.

Tu peux par exemple créer une classe statique contenant les références de toutes les fenètres.
Tu pourras donc de n'importe ou accéder aux fenètres

Le plus propre a mon gout est d'avoir une classe controller (modèle MVC) qui gère tes fenètres.
Ce controller peut ecouter l'évènement FormClosed pour fermer les autres fenètres.

Bon courage :)


Nico
2
cs_vagg Messages postés 102 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 janvier 2013
30 janv. 2009 à 13:39
Merci de ta réponse,
Je ne sais pas ce qu'est le MDI ni comment créer une classe de modèle MVC.
Je vais me renseigner là dessus. Sinon si tu peux me guider ça serait sympa.

Merci.
0
cs_vagg Messages postés 102 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 janvier 2013
30 janv. 2009 à 13:52
Alors après une petite googleisation,
non je n'utilise pas de formulaire MDI.

Par contre tout ce que je trouve sur le MVC est en ASP ou VB, alors que moi je travail en C#.
De plus je ne comprend pas trop à quoi çà sert.
0
thiosyiasar Messages postés 186 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 30 novembre 2010 3
30 janv. 2009 à 15:14
Salut,

Pour infos MVC est une méthode de conception, cela veut dire :
- Modèle (les données)
- Vue (Tes formulaire)
- Controlleur (Gestionnaire du modèle et de la vue)

Ca sert a isoler les fonctionnalité :
- Modèle (lire et ecrire les données dans une base, un fichier.....)
- Vue (afficher et lire la saisie de l'utilsateur)
- Controlleur (faire le pont entre l'accès aux données (Modèle) et les formulaire d'affichage/saisie(Vue))

Donc plus etre plus précis, le bouton de ton formulaire notifie le controlleur que l'utilisateur veux fermer la fenêtre, et le controlleur ferme alors les fenetres.

Nico
0