2015-05-21 3 views
0

Я хочу, чтобы проверить что-то, хотя несколько выпадающие списки, и я подумал о зацикливание, хотя их, потому что их имена следующим образом:Loop через несколько объектов в VB

  • ComboBox1
  • ComboBox2
  • ComboBox3
  • ComboBox4
  • ...
  • ComboBoxn

Что я хотел бы запустить что-то вроде:

If pcbN.Length <> ComboBoxN.Items.Count Then 
     ' Take care of this 
    End If 

N, представляющее индекс.

Есть ли способ сделать это, или я должен написать один и тот же код для каждого объекта?

Благодаря

+0

напишите один цикл, поместите его в функцию. отправляйте каждое CBO на него. Если вы хотите, вы можете хранить ссылки на CBO в массиве или списке и цикле на этом – Plutonix

ответ

1

Предполагая, что все они на том же контейнере (т.е. ваша форма или же панели) Вы можете использовать Container.Controls.OfType(ComboBox) получить только ComboBoxes. вы можете перебрать эти элементы управления с помощью простого цикла for или foreach.

For Each item As ComboBox In Me.Controls.OfType(Of ComboBox) 
    ' Do your thing... 
Next 

Для получения более подробной информации о методе OfType, читайте this page в MSDN.