Ответ Фредрика Мёрка в порядке, но если вы хотите использовать каркас приложения, вы не можете использовать sub main и иметь форму запуска. Простой, но очень технологичный способ (при условии, что основная форма заполняется файлами, которые вы хотите проверить):
'In the main form load: do not do anything.
.
'In the main form activated (pseudocode):
While VerifyFiles = NotThere
if AskForNewLocationsDialog() = Cancel
me.close and exit sub
end if
end while
Initialize form from datafiles (if that is what you need)
Если у вас много обновлений и вы не хотите, чтобы они появлялись, поместите все свои элементы управления на панель, которая заполняет форму (dock = fill), и скрывайте ее, пока не будете готовы. Вы можете даже поместить «загрузочное» сообщение или индикатор выполнения в середине формы под ним (но если вы загружаете в поток GUI, вам нужно добавить туда DoEvent. Но так как никаких элементов управления, кроме закрывающего X, не видно, закрытие и выход из цикла загрузки - это все, что вам нужно будет проверить после событий).
Конечно, если ваша программа уже написана, и в зависимости от того, что вы пытаетесь сделать, это может быть легче сказать, чем сделать; однако вы пишете, как будто вы только начинаете.