Reinitialiser un controle utilisateur

caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008 - 18 juil. 2008 à 11:28
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 27 juil. 2008 à 19:43
Bonjour,

Voila mon probleme :

J'ai une application dont j'ai créé un menu fait main sur un formulaire principal. Ensuite j'ai créé un controle utilisateur pour chaque partie de mon menu qui s'affiche donc a l'intérieur de mon formulaire principal.
Mon probleme est que quand on navigue dans les différentes partie de mon menu, le controle utilisateur garde l'état dans lequel on l'a laissé et je ne voudrais plutot qu'il se reinitialise a son etat original.

Alors existe t-il une façon de redessiner, reloader ... un controle utilisateur afin de le retrouver a son état original ?

Merci d'avance.

12 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 juil. 2008 à 11:53
c'est à ton contrôle de gerer son état !
démarrage état 0
si visible état 1
si rendu invisible état 0

il y a 10 sortes de gens: ceux qui comprennent le binaire, et les autres
0
caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008
18 juil. 2008 à 12:01
Justement, comment le faire changer d'état, il y a pas un moyen rapide de passer de l'état 1 à l'état 0 ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 juil. 2008 à 12:18
il faut lui ajouter une propriété visible (as boolean  ??)

il y a 10 sortes de gens: ceux qui comprennent le binaire, et les autres
0
caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008
18 juil. 2008 à 13:31
Oui je suis ok a ce niveau la. Mais quand on change le statut de visible, ça fait pas appele a la méthode load du controle utilisateur non ?
0

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

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 juil. 2008 à 13:51
???éxecute en pas à pas et tu verras quand sont appelées les méthodes ,évenements , propriétés de ton contrôle.
un simple point d'arrêt dans ton code et tu sauras tout

il y a 10 sortes de gens: ceux qui comprennent le binaire, et les autres
0
caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008
18 juil. 2008 à 14:01
Le visible execute la méthode load une seule fois. Aprés si tu passes ton controle a visible = false puis en visible = true ben le controle ne fait pas appele a la méthode load et garde les données precedemment saisi.
Ma question est de savoir si il existe un moyen de faire appele a la méthode load a chaque fois que je vais passer mon controle en visible = true
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
18 juil. 2008 à 14:16
Et bien, tu l'appelles tout simplement avec un call au moment où tu modifies la propriété visible.
Je suppose que tu as un bout de code où tu vas écrire :
Toto.visible = False
Derrière, tu rajoutes :
Call Form_load( )

C'est pas le plus propre, mais ça fonctionne.

Molenn
0
caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008
18 juil. 2008 à 14:23
Oui je vois le genre mais la méthode load a besoin d'un sender et d'un eventargs non ?
désolé le vendredi aprem c'est toujours dur quand on commence a 6h :p
0
cyrilremy Messages postés 33 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 11 août 2010
18 juil. 2008 à 17:12
sender, tu mets par exemple Me, et event args, tu crées un nouveau :
New System.EventArgs

Cyril
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
18 juil. 2008 à 19:14
Salut,

Si tu veux faire qqch à chaque fois que ton contrôle devient visible, fais-le simplement dans l'événement VisibleChanged, et pas dans Load
0
caribouille Messages postés 12 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 octobre 2008
21 juil. 2008 à 08:04
Oui je suis dakor avec toi mais je pense pas que la solution de reinitialiser tous mes controles sur l'événement visiblechanged prenne trop de temps étant donné le nombre. Donc je suis dakor avec vous mais y a t'il moyen de refaire appel au designer pour ravoir mes controles au meme etat que quand je fais le premier appel de mon form_load ?
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
27 juil. 2008 à 19:43
Non tu ne peux pas. Car l'appel de InitializeComponents ajoute les controles à la Form, ce qui provoquera une erreur si les contrôle sont déjà affichés. A toi de faire une procédure qui réinitialise tes controles comme tu le veux.
0
Rejoignez-nous