Instanciation d'une classe avec picturebox
Je reviens vers vous après avoir tenté de suivre les conseils qui m’ont été prodigués sur la façon de codifier mon projet qui consiste (en gros) à déplacer une PictureBox dans une fenêtre. Pour cela j’ai redémarré un projet dans lequel :
L’application démarre sur la Fenêtre (le Form1 standard)
J’ai créé un module de classe Cellules pour instancier des cellules avec constructeur, propriétés et méthode, qui contient la Picturebox dont voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Public Class Cellules
Private _monNom As String 'nom de la cellule
Private Shared _notreNombre As Integer = 0 'nombre de cellules
Private _monCadre As New PictureBox 'contient le dessin de la cellule
Private _maDirection As Orientation 'direction dans laquelle se déplace la cellule
Public Sub New()
'initialise la cellule lors de sa création
_notreNombre += 1
_monCadre.BackgroundImage = My.Resources.Cellule_Est
_maDirection = Orientation.Est
End Sub
Public Property Nom() As String
Get
Return _monNom
End Get
Set(ByVal value As String)
_monNom = value
End Set
End Property
Public Property Cadre() As PictureBox
Get
Return _monCadre
End Get
Set(ByVal value As PictureBox)
_monCadre = value
End Set
End Property
Public Sub Affiche()
Me._monCadre.Refresh()
End Sub
End Class |
Je crée LaCellule dans la Fenêtre, ce qui donne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Public Class Fenêtre
Public LaCellule As New Cellules
Private Sub Fenêtre_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'initialisation
With Me
.Width = 800
.Height = 600
.Location = New Point(100, 100)
.BackColor = Color.White
End With
End Sub
End Class |
Ce que j'ai mis en place, pour l'instant est-il correct ?
Je ne vois pas où et comment je pourrais faire figurer le code d’affichage de la PictureBox de la cellule, du genre Fenêtre.LaCellule.Affiche().
Pourriez-vous me venir en aide ?
Merci
P.S. Par souci de clarté pour ma question j'ai limité le projet uniquement sur ce point. Dans ce cas précis il serait trivial de créer la PictureBox directement dans la fenêtre, ce n'est pas l'objectif.