Событие Load
выполняется в потоке пользовательского интерфейса.Вы никогда не должны помещать логическую обработку в поток пользовательского интерфейса, так как блокирование делает пользовательский интерфейс невосприимчивым.
Вы должны создать новый поток (см. Класс Thread
) и выполнить логику запускатам.Экран загрузки может быть в порядке, если он занимает более 3 секунд.Вам нужно будет использовать Form.Invoke()
и делегатов для выполнения любой логики, которая взаимодействует с потоком пользовательского интерфейса (например, изменение текста TextBox).
Вы также ошибаетесь, предполагая, что происходит событие Load
когда форма отображается.Событие Load
наступает после инициализации компонента и перед отображением формы, тогда событие Shown
возникает при отображении формы.