Несколько ComboBox используют одно и то же событие - PullRequest
0 голосов
/ 26 октября 2018

У меня примерно 140 ComboBox на форме. Когда кто-то выбирает новый предмет в одном из ящиков, я бы хотел выделить это поле.

Я хотел бы использовать событие SelectionChangeCommitted и использовать следующий код:

Private Sub cmbDesk1_SelectionChangeCommitted(sender As System.Object, e As System.EventArgs) Handles cmbDesk1.SelectionChangeCommitted
 Dim tbControl As ComboBox = DirectCast(sender, ComboBox)
 tbControl.BackColor = Drawing.Color.Red
 tabFloor1.Focus()

Я знаю, что могу добавить дополнительные строки после раздела «Ручки» в объявлении подпрограммы, но есть ли способ сделать это без добавления в него всех ComboBox? Нечто похожее на

Me.TabPage1.Controls.OfType(Of ComboBox)()

С уважением

Мэтт

1 Ответ

0 голосов
/ 26 октября 2018

Вы всегда можете зациклить весь комбинированный список и AddHandler самостоятельно.

For Each cb As ComboBox In Me.TabPage1.Controls.OfType(Of ComboBox)()
    AddHandler cb.SelectionChangeCommitted, AddressOf cmbDesk1_SelectionChangeCommitted
Next

Это нужно сделать один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...