Je te propose une "rustine":
Quand l'utilisateur arrive sur ton onglet, tu grise tous les onglets.
Tu ajoute un bouton "Valider les changement" et un autre "Abandonner les changement", qui chacun font le traitement + dégriser les onglets.
Version imprimable
Je te propose une "rustine":
Quand l'utilisateur arrive sur ton onglet, tu grise tous les onglets.
Tu ajoute un bouton "Valider les changement" et un autre "Abandonner les changement", qui chacun font le traitement + dégriser les onglets.
Et faire ce que tu fais sans user control, envisageable ?
Oui aussi, ca peut etre bien :) En espérant qu'il ne s'en sert pas dans 6 onglets sur 8 ;)Citation:
Et faire ce que tu fais sans user control, envisageable ?
J'ai un user control par onglet, des plus petits mais aussi des gros...
Cela me permet de ne pas coder tout dans la meme classe de ma Form principale. Je ne pense pas me separer de mes user control, mais les rendre publics ou globaux pourquoi pas...
Je pense que la solution de la rustine sera adoptee si je ne trouve pas d'autres solutions. Je vais encore chercher et je verrai pour la "rustine" si jamais.
Merci beaucoup a tous.
Pas moyen de découpler le code sans usercontrol ? il me semble que si pourtant...
Decoupler le code ?
D'ou ma demande : "pas possible de decouper le code sans passer par les UC ? "Citation:
Cela me permet de ne pas coder tout dans la meme classe de ma Form principale
Ah pardon, mal écrit, et mal relu : decouper et non découpler ... le second relève plutot de la conception :roll: ...
Oui il y a moyne de ne pas tout coder dans la Form principale mais le user control apporte des choses vraiment bien dans une appli comme le fait de pouvoir etre independant: On lui donne un minimun de variable et il est lui-meme une fonctionnalite de l'appli. De plus on peut le re-utiliser tres facilement : Il suffit de la placer comme on placerai un button...
Bref je sais que le fait de garder les user control reduit les solutions a mon probleme mais ils sont plus important que le probleme lui-meme. Au niveau conception je suis sur qu'il y a une solution.
Je cherche, je cherche mais je ne vois pas. Comment pouvoir tester l'etat d'un user control lorsque je change d'onglet afin de lancer une methode publique de ce dernier.
Il faudrai deja qu'il ne soit pas detruit lors du changement d'onglet non ?
Si jamais il n'est pas detruit, je peux mettre un booleen a True si il y a eu des modifs et lors du click sur un autre onglet je teste ce booleen. Si il est a True comme le user control n'est pas detruit je peux lancer la methode publique SaveAll qui va sauvegarder les changements puis je peux moi-meme detruire le user control a la fin du traitement.
Si le booleen est a False, je detruit le user control sans aucun traitement.
Vous en pensez quoi ? enfin si quelqu'un m'a compris.. Je viens de trouver cette solution en meme temps que je vous l'ecrivais.
Quand j'ai lu cela, je me suis dit :Citation:
Comment pouvoir tester l'etat d'un user control lorsque je change d'onglet afin de lancer une methode publique de ce dernier.
Citation:
Un design pattern d'état sur un user control, est ce applicable ?
Le boolean me semble une solution suffisante (dans ce cas le pattern Etat serait ptet un peu lourd sachant qu'il n'y a qu'un état. Mais sinon il serait interressant de pouvoir l'appliquer sur des uc en effet !)
Mais on reviens tj à la question : l'uc est il detruit après le changement d'onglet (puisqu'on ne peut intervenir avant le basculement...) ?
Sinon, ne peux tu garder une référence sur l'uc en dehors des onglets, pour l'empecher de se faire détruire ? (ne fonctionne que si c'est le GC qui le détruit...) [edit : je ne crois pas que cela soit le GC d'ailleurs...]
Comme c'est fait aujourd'hui a chaque changement d'onglet, le user control est detruit mais je pense pouvoir le garder en memoire si je modifie mon code...