Как обрабатывать события из управляющего массива VB.net
Для начала привет всем, я новичок в stackru, а также новичок в программировании (на 1º года). Я искал, но я не нашел ничего, что ответило бы на мой вопрос, или, может быть, я просто новичок, чтобы понять ответы, так что извините, если это слишком просто, я не могу видеть это!
/ * мой родной язык не английский */
Вот моя проблема, я делаю VB форму с 200 картинками, которые должны изменить или взаимодействовать при нажатии
Я сделал массив управления со всеми из них, как это:
Dim control(199) As PictureBox = Controles(control, 0)
Function Controles(ByRef control As Array, ByVal cont As Integer)
For Each pic As PictureBox In Me.Controls
control(cont) = pic
cont += 1
Next
Return control
End Function
это должно привязать каждую картинку в положение массива, теперь моя проблема в том, как настроить обработчик событий для наблюдения за control().click, так что независимо от того, в какой коробке вы щелкнете, событие onclick будет срабатывать.
единственный способ, который я знаю, - это создать обработчик кликов для каждого поля вручную.
надеюсь, я найду ответы
1 ответ
С использованием Addhandler
Заявление, что вы можете подключить их все к одной рутине. Затем приведите объект-отправитель для взаимодействия с PB, по которому щелкнули. Функция OfType.
Private Sub LoadME() Handles Me.Load
For Each pb As PictureBox In Me.Controls.OfType(Of PictureBox)()
'add all PB click events to a event sub
AddHandler pb.Click, AddressOf pb_Click
Next
End Sub
Private Sub pb_Click(sender As Object, e As EventArgs)
Dim pb = DirectCast(sender, PictureBox)
'this is the PB that was clicked
End Sub