OnLoad
происходит до форма показана, чтобы позволить вам инициализировать форму и переменные, а что нет, что означает, что это синхронно. Форма не будет отображаться, пока вы не вернетесь из этой функции.
Если вы хотите асинхронно запустить метод CheckBalance()
, то вы можете использовать несколько методов, таких как использование Threading, ThreadPool или Tasks API, чтобы переместить эту работу в фоновый поток, и немедленный возврат к форме показано на рисунке.
Вот пример использования Задачи для выполнения того же действия, но асинхронно, так что форма сразу показывает:
Action<object> action = () => { CheckBalance(); };
new Task(action).Start();
Обратите внимание, что при доступе к потоку пользовательского интерфейса вам необходимо остерегаться безопасности потока и его вызова.