Добавить задержку между вызовами функций в главном

В моей основной функции (Form1_Load) я хотел бы вызвать 3-4 функции для первоначальной настройки программы. Проблема в том, что я получаю сообщение об ошибке при попытке сделать это (одна функция не работает должным образом). Я могу сделать кнопку для каждого вызова функции и нажимать их в правильном порядке с помощью Windows Form, и программа работает нормально. Итак, я думаю, что программа не подключается должным образом к серверу, выполнение функций выполняется слишком быстро или что-то вызывает проблемы с потоками, поэтому мне нужно добавить некоторую задержку между вызовами функций. Как мне сделать это лучше всего на C #? Идея:

  Form1_Load(object sender, EventArgs e) {
         callfunction1();
         add_delay();
         callfunction2()
         add_Delay();
         etc.
 }

Это один из моих первых программ на C #, так что извините, если ответ очевиден.


person jones    schedule 16.11.2016    source источник


Ответы (2)


Вы можете использовать Thread .Sleep Функция для достижения этой цели

использование: Thread.Sleep(milliseconds);

не забудьте добавить using System.Threading; в начало файла

Обратите внимание, что это заморозит вашу форму до тех пор, пока не закончится сон. чтобы ваш пользовательский интерфейс оставался активным, вы можете запустить другой Thread или используйте Таймер

person Jan-Fokke    schedule 16.11.2016
comment
Использование thread.sleep (5000) решило проблему :) - person jones; 16.11.2016

Вы можете использовать Thread.Sleep (на какое время вы хотите, чтобы поток засыпал) // если вы уверены, что к тому времени функция будет выполнена.

если вам нужно что-то еще, вы можете использовать await в C #, который фактически будет ждать времени, пока ваша функция не будет выполнена.

person Janeesh    schedule 16.11.2016