Associer une combobox et une picturebox

Résolu
Signaler
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
-
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

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
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