У меня большое количество кнопок на форме (144 кнопки). Названия каждой кнопки представляют собой комбинацию различных факторов.
Мне нужно, чтобы они все делали одно и то же при нажатии. У меня есть это событие в Private Sub под названием "ClickButton".
Я хочу использовать цикл, чтобы AddHandler каждой кнопки к событию "ClickButton".
Сначала мне нужно обратиться к каждой кнопке. Я делаю это путем динамического построения их имени в цикле.
Dim PeriodRoomID As New Button
Dim cntrl() As Control
For Each Row In dsAllRooms.Tables("sqlAllRooms").Rows
For Count = 1 To 13
RoomID = Row.Item(0)
'This is where the name of each room is dynamically created.
'It is stored in PeriodRoomID.name
PeriodRoomID.Name = "R02" & RoomID.PadLeft(3, "0"c) & Count
cntrl = Me.Controls.Find(PeriodRoomID.Name, True)
AddHandler cntrl(0).Click, AddressOf ClickButton
Next
Next
Проблема в том, что ничего не происходит. AddHandler не работает. Однако, если я просто напишу одно из названий кнопок;
AddHandler R020011, AddressOf ClickButton
Тогда это работает. Что-то идет не так в Me.Controls.Find. Кажется, он не может найти ни одной кнопки под этим именем, что странно, потому что я использую тот же код в других разделах, и он находит кнопку.