Créer une interface graphique, treeview et afficher des infos selon le noeud cli

reperret Messages postés 3 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 27 mars 2012 - 26 mars 2012 à 14:04
Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 - 27 mars 2012 à 23:45
Bonjour,

Je dois développer une application de type "explorateur windows pour faire simple..."

en gros j'ai un treeview à gauche, relié à une base de donnée. L'arbre a 3 niveaux d'arborescence: Campagne, Suites, et Cas (dans l'ordre hiérarchique)

Lorsque je clique sur un des noeuds, je veux que cela m'affiche à droite de mon application les informations en lien avec ce sur quoi j'ai cliqué...

Si je clique sur une "campagne", les infos seront différentes que si je clique sur une "suite" ou un "cas"... Etc

Je suis débutant en C# et surtout windows form et je ne comprends pas tout la façon de gérer les interfaces graphiques de ce genre...

On m'a parlé d'héritage... et aussi de créer des "panels" différents contenant les différentes "pages" de mon applications..., (les différents écrans). L'idée est de cacher un panel puis d'en afficher un autre apparemment??

Cela dit, avec cette technique, je ne comprends pas comment créer gaphiquement mon application dans un meme "Form", les informations des pages se confondant totalement dans la fenetre conception !

J'espère m'être fait comprendre!

Merci

5 réponses

Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
27 mars 2012 à 10:20
Le principe dans ce cas là est de séparer ton écran en deux verticalement comme tu as fait:
- la partie gauche avec le treeview
- la partie droite avec les données correspondantes au noeud sélectionné dans le treeview.

Pour charger la partie droite, tu peux abonner une méthode à l'événement "NodeMouseClick" ou "NodeMouseDoubleClick" du treeview.
Cette partie peut être sous forme de panel, de liste ou tout autre représentation que tu souhaites mettre en place.
0
reperret Messages postés 3 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 13:41
Merci!

Donc jusque là j'ai tout compris... Par contre, ce qui me pose problème c'est la gestion des panels au niveau graphique...
Par exemple, si j'ai 3 "types" de contenu à afficher à droite de mon treeview (car mon treeview je le rappelle est composé de campagne, puis suite, puis cas de tests de manière hiérarchique)... ça veut dire que dans Visual Studio, si je travaille en conception graphique, je dois "superposer" chacun de mes 3 panels... dans la même fenetre "form"...? Ca donne un bordel immonde... ca me parait bizarre que visual studio ne prévoit pas quelque chose de plus aboutie pask c'est quand meme une technique qui doit etre utilisée souvent et pas juste dans mon cas non? !

Quand tu dis, liste, ou tout autre représentation que je souhaite mettre en place, tu penses à quoi? Car c'est ça au fond ma question... Que dois-je utilisé comme "élément" visual studio afin de créer et d'afficher des "pages" différentes mais dans la même fenetre...
0
Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
27 mars 2012 à 14:26
Sous quel format souhaites-tu afficher tes données?
Campagne, cas et suite représentent quelles informations?
0
reperret Messages postés 3 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 15:48
Les données afficher seront de plusieurs types:

Une premiere partie "informations" : exemple:

- Si on clique sur Campagne dans treeview, on aura Nom de la campagne, auteur, date de création, etc... toutes ces infos seront récupérées de la BDD...(SQLite gérée directement depuis Visual Studio)

- Si on clique sur Suite dans treeview, on aura Nom de la suite, auteur, date de création etc... pareil
- Si on clique sur Test Case dans treeview... idem


En plus de ça il y aura quelques autre bouton notamment 'Lancer La campagne' qui permettra de lancer un autre logiciel qui s'occuper d'effectuer les tests (appartenant à la campagne) sur un logiciel... Bref

Voilà l'idée...
0

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

Posez votre question
Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
27 mars 2012 à 23:45
Il te faudra effectivement jouer avec des panels et des écrans de détails.
Le plus simple dans ces cas là est, pour la partie gauche, de créer des usercontrols, un pour chacun de tes types.
Tu pourras alors les construire plus simplement en dehors de ta fenêtre principale.

Une fois que tu as fait ça, tu peux créer une instance de chaque dans la form principale que tu ajouteras à la partie droite par la suite.

Ensuite, chaque fois que tu dois afficher les détails d'un objet précis, tu peux utiliser une des méthodes suivantes:
- bringtofront() si tous les usercontrols ont été ajoutés à la liste des controles du panel de droite
- controls.clear() et controls.add(usercontrol).
0
Rejoignez-nous