Bonjour à tous.

Dans le cadre d'un projet pour mes cours, je dois créer une sorte de simulation de trains sous visual basic. Ça ne se passait pas trop mal jusqu'à ce que je tombe sur un problème franchement coriace.

Je dois concevoir un système qui me permet de changer le sens de mes aiguillages, illustrés par une picturebox. Ce que je veux faire par conséquent, c'est changer l'image de ma picturebox lorsque je double-clique dessus. Ainsi, si l'image1 est affichée, on passera à l'image2, et inversement. J'ai donc eu l'idée de ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub alternerAiguillageN(sender As Object, e As EventArgs)
        If enFonction = False Then  ' Ici ne tenez pas compte du contrôle, c'est pour autre chose.
            If sender.Image Is My.Resources.AiguillageNE Then
                sender.Image = My.Resources.AiguillageNO
                lblInfo.Text = "Sens d'aiguillage changé NO"
                ' Donc si Image1, Alors Image2
            Else : sender.image = My.Resources.AiguillageNE
                lblInfo.Text = "Sens d'aiguillage changé NE"
                ' Sinon, image1
            End If
        End If
    End Sub
L'ennui, c'est que ça ne marche que d'un seul sens. Je peux passer de l'image 2 à l'image 1 très exactement, mais pas l'inverse. J'ai essayé en changeant mon Else en ElseIf, mais c'est encore pire car on dirait que je n'arrive même pas à entrer dans la conditionnelle de cette manière. Je ne sais vraiment plus quoi faire du coup. Pensez vous pouvoir m'aider ?