В более общем смысле того, что упоминается в ответе jm c; Вы можете сделать то же самое, что и дизайнер форм. Он по существу добавил все ваши бары в коллекцию, индексированную строкой
Вы можете сделать то же самое и упростить это в конструкторе:
Private bars() as New Control 'make an array of controls
'In the constructor
Sub New(...)
'If you have 29 bars
ReDim bars(28)
bars(0) = bars1
bars(1) = bars2
...
Помните, что массивы начинаются с 0, поэтому вам нужно либо немного поработать над математикой, когда вы хотите bars1, потому что в массиве он имеет индекс 0, либо вы можете запустить свой массив, чтобы иметь 30 элементов, вставьте bars1 в барах (1) et c и просто игнорировать первый элемент массива
Помните, что это устанавливает новую ссылку на существующий объект; Вы можете изменить что-либо в самом объекте, например, bars1.Left = 100
и bars(1)
увидит это изменение, но если вы измените bars1 для всего нового объекта, то bars (1) останутся указывать на старый объект, и его тоже нужно будет изменить