Членом формы по умолчанию является (косвенно) коллекция Controls.
Синтаксис bang (!) Используется для доступа к коллекции в VB, и во многих случаях его использует компилятор для раннего связывания вещей, которые в противном случае были бы доступны медленнее при позднем связывании.
Это далеко не устарело, часто предпочтительнее.
Однако в этом случае, поскольку элемент по умолчанию для объектов формы - [_Default] As Object
, содержащий ссылку на экземпляр Controls As Object
, этот синтаксис не имеет особых преимуществ или недостатков по сравнению с:
Form5("ProgressBar").Value
Я согласен с тем, что в этом случае лучше получить более непосредственный доступ к элементу управления как члену формы, как в:
Form5.ProgressBar.Value
Знание разницы между ними является вопросом фактического знания VB. Тем не менее, это не просто синтаксис, два «пути» делают разные вещи, которые приводят к одному и тому же результату.
Надеюсь, этот ответ предлагает объяснение, а не просто вызов вуду.