Как обрабатывать события из управляющего массива 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
Другие вопросы по тегам