Я сделал массив плиток (картинных блоков) в массиве, и мне нужно, чтобы они все что-то делали при нажатии, но не знаю, как это сделать. В частности, я хочу иметь возможность разместить на них какой-либо другой объект, щелкнув плитку и заставив этот объект перейти в местоположение этой плитки. Я знаю, что вы можете предложить взглянуть на переменную mouseposition и создать невидимую рамку над всеми плитками для регистрации кликов, но я хотел бы знать, как зарегистрировать любое событие для объекта в массиве для всего, что появится в будущем. Кстати, я знаю, как регистрировать события для объектов, которых нет в массиве. Объект, который я хочу переместить поверх изображения, также будет из массива объектов, но другого.
Вот мой код:
Public Class Form1
Dim tiles(50) As PictureBox 'This is the object array of tiles
Dim plants() As String 'I haven't set this up yet, but this will be for the objects to be 'placed' on the pictureboxes.
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim tileWidth As Integer = 50
Dim tileHeight As Integer = 50
Dim xindent As Integer = 10
Dim yindent As Integer = 10
For x = 0 To 9
For y = 0 To 4
ReDim Preserve tiles(x * y)
tiles(x * y) = New PictureBox With {.Visible = True, .Size = New System.Drawing.Size(50, 50), .Parent = Me, .BackColor = Color.GreenYellow, .Image = Nothing}
tiles(x * y).Location = New System.Drawing.Point(x * tileWidth + xindent, y * tileHeight + yindent)
If (x Mod 2 = 0 And y Mod 2 = 0) Or (x Mod 2 <> 0 And y Mod 2 <> 0) Then
tiles(x * y).BackColor = Color.Green
End If
Next
Next
End Sub
End Class
Я просто не знаю, как настроить обработчик события клика для массива плиток, поэтому его нет в приведенном выше коде.
Заранее спасибо за вашу помощь.