Utilisation de plusieurs panels en même temps ou autre solution?

Kerlouan29 Messages postés 7 Date d'inscription samedi 13 novembre 2010 Statut Membre Dernière intervention 25 juin 2011 - 18 nov. 2010 à 21:55
Kerlouan29 Messages postés 7 Date d'inscription samedi 13 novembre 2010 Statut Membre Dernière intervention 25 juin 2011 - 19 nov. 2010 à 13:46
Bonjour

Je présente tout d'abord vite fait mon projet:
je souhaite créer une petite application qui enregistrera des succès ou échecs lors de diverses évaluations.
J'ai besoin d'avoir la possibilité de modifier la liste des critères évalués, de modifier la liste des personnes évaluées,
de faire apparaître un bilan personnalisé.
Je débute totalement VB. cela fait deux mois que je suis dessus via des livres et lectures de tutoriels.
Je commence à comprendre à peu près le fonctionnement mais bien sûr cela coince souvent dans les détails.
Je désire me lancer enfin et poser les questions au fur et à mesure.

J'ai déjà une idée de l'interface: je souhaite avoir à gauche de la fenêtre sur un rectangle vertical la liste de tous les boutons importants et je souhaite que cette fenêtre soit tout le temps visible.
J'ai donc utilisé un splicontainer: à gauche les contrôles et à droite la fenêtre pour enregistrer, modifier, afficher des résultats,.....

Je pensais remplir la partie droite avec un panel par choix d'utilisateur:
Panel1> Modifier la liste des critères
Panel2> Modifier la liste des personnes évaluées
Panel3> Afficher un bilan
Panel4> ....
je souhaite pour avoir de la place que les panels occupent tout l'espace de la partie droite du splittcontainer.
Hélas les panels se superposent forcément et il me devient très difficile de travailler dessus (positionner des contrôles,....).

Ma seconde solution a été alors de créer non pas un panel par choix d'utilisateur mais un formulaire par choix.
J'ai exporté mon formulaire de départ pour avoir un modèle avec le menu.
Du coup avec les onglets cela est facile. Mais en ce moment j'ai un petit souci avec les boutons du menu: ce sont apparemment des nouveaux qui se créent et je suis donc obligé de m'occuper de leurs propriétés pour chaque formulaire alors que dans la première solution c'était fait une fois pour toute.
Copie d'écran du formulaire de démarrage
Copie d'écran du formulaire représentant le choix "Modifier les compétences

En bref:
Si on souhaite voir une partie du formulaire fixe, vaut-il mieux:
> La solution des panels qui se superposent? Dans ce cas comment réussir à passer de l'un à l'autre en mode désign facilement?
>La solution des formulaires multiples? Dans ce cas, ai-je moyen de fixer une fois pour toute les propriétés des boutons du menu sans devoir revenir dessus à chaque fois que je crée un nouveau formulaire?
Ou alors existe-il une autre solution?
Merci

3 réponses

Kerlouan29 Messages postés 7 Date d'inscription samedi 13 novembre 2010 Statut Membre Dernière intervention 25 juin 2011 1
19 nov. 2010 à 13:46
Tout d'abord merci pour ta réponse :)
Je ne suis pas certain d'avoir compris ta question
Je souhaite avoir une seule fenêtre quand j'active mon application:
> la partie gauche de la fenêtre restant inchangée quelque soit les choix (le menu ).
> la partie droite affichant les choix du menu et permettant d'enregistrer selon les cas les résultats, les compétences à ajouter, .....
Je ne connaissais pas la fonction Zorder: merci de me la faire découvrir :)
Par contre cela m'arrange que pour le code: en mode désign pour placer mes contrôles sur mes panels, je fais comment pour passer d'un panel à un autre quand ils sont superposés?

Sinon j'ai découvert hier le Tabcontrol: cela fait quasiment tout ce que je demande et c'est facile de travailler dessus en mode design. Hélas il n'y a pas moyen de personnaliser les onglets (couleurs notamment).
1
kkydav79 Messages postés 24 Date d'inscription vendredi 28 juillet 2006 Statut Membre Dernière intervention 23 mai 2011
19 nov. 2010 à 09:20
Tu devrais rester sur ton idée d'utiliser tes panels en utilisant la fonction ZORDER de ton panel; ca te permet de controler l'index d'ordre de tes panels de façon à afficher au premier plan (superposition d'index 0) le panel que tu souhaite afficher à tel ou tel moment.

panel1.Zorder(0)
' renvois le panel1 au premier plan
0
kkydav79 Messages postés 24 Date d'inscription vendredi 28 juillet 2006 Statut Membre Dernière intervention 23 mai 2011
19 nov. 2010 à 09:23
Heu... attends... réexpose moi ton problème, je suis pas certain de l'avoir compri en fait (après relecture).

Tu cherche à parfaire un tel système dans ta zone de travail d'interface VB ou au sein de l'application elle-mêm quand elle tourne?
0
Rejoignez-nous