Demande de conseil pour mettre à jour form dynamiquement.

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 17 juin 2005 à 09:48
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 17 juin 2005 à 10:29
Bonjour à tous,,



En faite ma question est que j'ai, dans une form, un treeview et quand
j'appuis sur un menu j'ouvre une seconde form et cette seconde form
doit rajouter des items dans ce treeview. Comment faire que pour dans
la deuxieme form au moment ou j'ajoute un item ca rajoute directement
cet item dans le treeview de le premère Form ? passer le treeview en
paramètre ou y'a t'il des solutions plus élégantes ?



Voila si qq à déja été confronté à ce problème.



Par avance, merci.

6 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 10:10
Personnellement, je procède différemment.
Pour moi, 2 formulaires ne doivent jamais avoir de référence de l'un vers l'autre (à part biensûr le ShowDialog).

Donc, tout se passe au niveau des propriétés du formulaire qui crée les nouveaux items de ton TreeView.

Exemple :

dans ton Form1, qui contient ton treeview, tu appelles le Form2, comportant l'interface qui te permet de créer de nouveaux items.

tu auras :
using (Form2 f = new Form2()) {
f.ShowDialog();
}

Mais tu ne récupères rien
Donc le code adapté sera :
using (Form2 f = new Form2()) {
if (DialogResult.OK == f.ShowDialog()) {
this.AjouteNouveauxNoeuds(f.NouveauxNoeuds);
}
}

et dans ton Form2, tu crées une propriété NouveauxNoeuds qui contiendra une collection de noeuds à ajouté à ton TreeView.


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 10:19
il faut que ton boulot valider ait pour propriété DialogResult la valeur OK.


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
17 juin 2005 à 10:24
en fait, c'est un des principes de la programmation objet.
une classe ne doit jamais modifier ce que contient une autre.

et puis... imagine demain tu changes le nom de ton treeview... il faudra que tu modifies le Form1 ET le Form2, alors que dans la méthode que je te propose, tu ne modifieras que le Form1.


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 juin 2005 à 10:17
merci mais ca va se declencher quand ca : "if (DialogResult.OK ==
f.ShowDialog()) " étant donné que c une form, y' a un bouton valider et
fermer dans la form2 mais c'es tout.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 juin 2005 à 10:22
Ah ok , en faite deux forumlaires ne doivent jamais avoir de references
pour toi c'est une question de principe ou ca fait des choes moins
clairs ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 juin 2005 à 10:29
ok et j'ai une dernière question si dans form2 ou moment j'appuis sur
valider j'ai une alerte du type "Vous devez remplir le champs nom" ; ca
va quand même produire :



if (DialogResult.OK == f.ShowDialog()) {

this.AjouteNouveauxNoeuds(f.NouveauxNoeuds);

}



parceque j'ai appuyez sur le le bonton valider dans ma form2 qui à
comme dialogresult : ok . ? mais il n'y pas d'operation de contrôle
pour savoir si le bouton valider à marcher ou pas dans la form1 ?
0
Rejoignez-nous