#vb.net
#vb.net
Вопрос:
У меня есть три события, которые нужно запустить при нажатии кнопки.
после запуска первого события я хочу подождать 30 секунд, чтобы дождаться запуска следующего события.
как я могу ждать (я имею в виду цикл в течение 30 секунд).
Спасибо, Ворчун
Комментарии:
Ответ №1:
Вы можете попробовать это непосредственно в своем коде:
MessageBox.Show("Test") ' Execute your method 1
System.Threading.Thread.Sleep(30000)
MessageBox.Show("Test2") ' Proceed with the other one :)
Ответ №2:
Если вы будете ждать в потоке пользовательского интерфейса, вы заблокируете весь пользовательский интерфейс, и Windows покажет ваше приложение как не отвечающее.
Лучше, чтобы:
- Обновите пользовательский интерфейс, чтобы показать, что он занят, включая отключение элементов управления, блокирующих пользовательский ввод.
- Используйте управление таймером (подробности зависят от WinForms или WPF), чтобы инициировать событие после временной задержки
- Выполните работу в обработчике событий таймера.
Если работа требует больших затрат процессора или ввода-вывода (т.е. вероятно, он заблокируется более чем на несколько десятков миллисекунд), затем выполните работу в пуле потоков (например, BackgroundWorker
компоненте). Помните, что вам нужно будет использовать Control.Вызывается для внесения любых изменений в пользовательский интерфейс из рабочего потока.
Ответ №3:
Вы можете использовать поток System.Threading.Thread.Sleep(30000);
для приостановки выполнения.
Ответ №4:
используйте для этого таймер и установите интервал в 30 секунд для таймера (1sec = 1000)
timer1.Interval=30000