Bonsoir,
à titre d'exercice j'ai écrit un petit programme à l'aide de Visual studio express 2010 en VB. Le premier bouton déclenche l'affichage d'une ampoule allumée, le second bouton une ampoule éteinte.

Dans le Form il y a donc 2 boutons et une PictureBox.
Quand on clique sur un bouton, la procédure liée à cet événement modifie une propriété de la classe et passe à la procédure Affichage. Celle-ci teste la propriété et affiche l'image correspondante.
Idem pour le second bouton.

J'ai 2 erreurs que je ne parviens pas à résoudre.

La première se trouve dans la procédure déclenchée par le clic sur un bouton:
"La clause Handler requiert une variable WithEvents definie dans le type conteneur ou l'un de ses types de base"

La seconde se trouve dans la procédure Affichage:
"Une référence à un membre non partagé requiert une référence d'objet"

Je joint le code si quelqu'un veut bien y jeter un oeil.

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Class Form1
    Public Class Lampes
        Public ampoule As New Lampes With {.allume = True}
        Public allume As Boolean
 
        Public Sub BtnAllumer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAllumer.Click
            ampoule.allume = True
            Affichage()
        End Sub
        Public Sub BtnEteindre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEteindre.Click
            ampoule.allume = False
            affichage()
        End Sub
        Public Sub affichage()
            If ampoule.allume = True Then
                PictureBox1.ImageLocation = "D:\Mes Documents\Visual Studio 2010\Projects\Allumee.jpg"
            Else
                PictureBox1.ImageLocation = "D:\Mes Documents\Visual Studio 2010\Projects\Eteinte.jpg"
            End If
        End Sub
    End Class
 
End Class