Как добавить элемент управления из другого класса в основную форму? Я пробовал разные подходы: либо добавление элемента управления внутри его класса, либо добавление его в функцию внутри основного класса формы. Вот мой фактический код:
Public Class Game
Private Sub Play_bp_Click(sender As Object, e As EventArgs) Handles Play_bp.Click
Me.main_panel.Hide()
Dim joueur = New Player()
Me.game_panel.Controls.Add(joueur.Image)
Me.game_panel.Show()
joueur.Image.Show()
End Sub
Private Sub Quit_bp_Click(sender As Object, e As EventArgs) Handles Quit_bp.Click
Me.Close()
End Sub
End Class
Public Class Player
#Region "Player Attribute"
Public m_speed As Integer
Public m_image As PictureBox
Public m_munition As UInteger
Public m_life As UInteger
Public m_position As Point
#Region "Player Functions"
Public Sub New()
Me.m_life = 3
Me.m_munition = 10
Me.m_position = New Point(100, 200)
Me.m_image = New PictureBox
Me.m_image.Image = My.Resources.player
Me.m_image.Location = Me.m_position
End Sub
Public Sub Fire()
If me_munition> 0 Then
End If
End Sub
Public Sub Move(decalage As Integer)
If decalage < 0 Then 'Décalage vers la gauche
'Si on peut bouger vers la gauche
If (Me.me_position.X + decalage) > 0 Then
Me.me_position= New Point(Me.me_position.X + decalage, Me.me_position.Y)
End If
ElseIf decalage > 0 Then 'Décalage vers la droite
'Si on peut bouger vers la droite
If (Me.me_position.X + decalage) < Game.Width Then
Me.me_position= New Point(Me.me_position.X + decalage, Me.me_position.Y)
End If
End If
Me.Image().Location= Me.me_position
End Sub
#End Region
End Class
edit: я пытался отобразить изображение внутри кода пользовательского интерфейса, но оно тоже не работает. Я все еще получаю черное окно без моей картинки:
Private Sub Play_bp_Click(sender As Object, e As EventArgs) Handles Play_bp.Click
Me.main_panel.Hide()
Me.vue_actuelle = Vues.Game
Dim Player_picture = New PictureBox
Player_picture.Size = New Size(My.Resources.player_mini.Width, My.Resources.player_mini.Height)
Player_picture.Image = My.Resources.player_mini
Player_picture.Location = New Point(100, 200)
Me.game_panel.Controls.Add(Player_picture)
Me.game_panel.Show()
End Sub