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 :
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 ?
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
Partager