Associer une combobox et une picturebox

Résolu
podolis Messages postés 71 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 19 décembre 2010 - 4 avril 2008 à 14:51
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 - 4 avril 2008 à 16:25
Je suis débutant en VB et je créais des IHM car je suis Ergonome logiciel
J'aimerais que lorsque je séléctionne un items dans une combobox cela change une image dans une picturebox

je sais qu'il est possible de le faire avec

If ComboBox.Text = "Blabla 1" Then
PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_1
EndIf
If ComboBox.Text = "Blabla 2" Then

PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_2

EndIf
Etc.........

Mais comme j'ai plus de 40 items dans ma ComboBox j'aimerais savoir si il est possible de pas se taper les 40 If Then EndIf
 L'obejctif est de permettre à l'utilisateur de charger un plan dans la picture box quand il choisit son nom afin de pouvoir le visualiser
Merci
Médéric

1 réponse

NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
4 avril 2008 à 16:25
Bonjour

Déjà à la place de :
if ComboBox.Text = "Blabla 1" Then
PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_1
EndIf
If ComboBox.Text = "Blabla 2" Then
PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_2
EndIf

tu peu faire :
Select case ComboBox.Text
    Case "Blabla 1"
        PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_1
    Case "Blabla 2"
        PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.Blabla_2
End Select

Le mieux serait d'utiliser l'index (.SelectedIndex)
Sinon, tu peux créer une classe :

private Class ClsImage
    public Nom as string
    Public MonImage as Image

    public sub new (byval pNom as string,byval pMonImage as Image)
       nom=pnom
       monimage=pmonimage

    end sub

    public overrides function ToString as string
       return nom
    end function
end class

Ensuite au moment du chargement :
    ComboBox.add(new ClsImage("Blabla1",My.Resources.Resources.Blabla_1))
...

Et pour l'affichage :
PictureBox1.Image=directcast(ComboBox.selectedItem,ClsImage).MonImage

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
3