[Visual Studio C# 2005 Express] Définir l'affichage selon le choix d'une ListBox

BS_C3 Messages postés 12 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 3 avril 2008 - 1 avril 2008 à 01:06
BS_C3 Messages postés 12 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 3 avril 2008 - 3 avril 2008 à 00:03
Bonjour!

Je découvre visual studio et le C# et me voilà à faire une application où je bloque dès les premiers pas.
J'ai commencé à faire une interface graphique avec le Simple Editor.

J'aimerais pouvoir adapter l'affichage de la fenêtre selon ce que l'utilisateur a choisi dans une listBox.

Par exemple:

La fenêtre contient uniquement une listBox.

L'utilisateur choisi l'option A.
Alors, un nouvel élément e1 s'affiche dans la même fenêtre.

Si l'utilisateur choisi maintenant l'option B.
Alors, e1 disparaît et un nouvel élément e2 s'affiche dans la même fenêtre.

Je voudrais pouvoir faire cela sans avoir besoin de rediriger vers une autre fenêtre.
Cela fait un moment que je cherche mais je ne trouve rien. Je m'y prends mal?

Voilà!
J'espère que quelqu'un pourra m'aider à trouver une solution

Merci!

3 réponses

BS_C3 Messages postés 12 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 3 avril 2008
1 avril 2008 à 08:36
Bonjour!

J'aurai trouvé une solution un peu rudimentaire...
En changeant l'option "Visible" des éléments, je peu les cacher ou les montrer. Donc selon le choix de l'utilisateur, je mettrai ce paramétre en true ou false.
Cette méthode marche mais est assez lourde étant donné que je supperpose les différents éléments et les mets à false par défaut.

Il existerait une méthode un peu plus "fine" de le faire?

Meci bien
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
1 avril 2008 à 21:11
Tu peux tout à fait ajouter des controles dynamiquement.

Par exemple si tes élements e sont des picturebox:

if((string)list.SelectedItem == "A")
{
     PictureBox pb = new PictureBox();
     PictureBox.Name = "e1";
     this.Controls.Add(e1):
}

a toi de régler la taille de la picturebox, sa position, etc. En tous cas, sache que tu peux le faire par programmation d'ailleurs l'éditeur de fenetre ne fait que produire ce type de code.
BS_C3 Messages postés 12 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 3 avril 2008
3 avril 2008 à 00:03
Bonsoir!

Merci beaucoup pour ta réponse. Je testerai le .add et je vous donnerai des retours ;)

Merci
Rejoignez-nous