WindowsFormsApplicationBase.DoEvents Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений.
public:
void DoEvents();
public void DoEvents ();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()
Примеры
В этом примере используется My.Application.DoEvents
метод , чтобы разрешить обновление пользовательского интерфейса.TextBox1
Private Sub TestDoEvents()
For i As Integer = 0 To 10000
TextBox1.Text = i.ToString
My.Application.DoEvents()
Next
End Sub
Этот код должен быть в форме с компонентом TextBox1
со свойством Text
.
Комментарии
Метод My.Application.DoEvents
позволяет приложению обрабатывать другие события, которые могут возникать во время выполнения кода. Метод My.Application.DoEvents
имеет то же поведение, что и DoEvents метод .
При запуске приложения Windows Forms создается новая форма, которая затем ожидает обработки событий. Каждый раз, когда форма обрабатывает событие, например нажатие кнопки, она обрабатывает весь код, связанный с этим событием. Все остальные события ожидают в очереди. Пока ваш код обрабатывает событие, приложение не отвечает. Например, окно не перекрашивается, если сверху перетаскивается другое окно.
При вызове My.Application.DoEvents
в коде приложение может обрабатывать другие события. Например, если код добавляет данные ListBox в цикл, а после каждого шага цикла он вызывает My.Application.DoEvents
, форма перерисовывается при перетаскивании другого окна. Если удалить My.Application.DoEvents
из кода, форма не будет перекрашивание до тех пор, пока не завершится выполнение обработчика событий нажатия кнопки.
Как правило, этот метод используется в цикле для обработки сообщений.
Примечание
Метод My.Application.DoEvents
не обрабатывает события точно так же, как форма. Используйте многопоточность, чтобы форма непосредственно обрабатывала события. Дополнительные сведения см. в разделе Использование потоков и работа с потоками.
Внимание!
Если метод, обрабатывающий событие пользовательского интерфейса, вызывает My.Application.DoEvents
метод , метод может быть повторно введен до его завершения. Это может произойти, так как My.Application.DoEvents
метод обрабатывает сообщения Windows, а сообщения Windows могут вызывать события.
В следующей таблице приведен пример задачи, включающей My.Application.DoEvents
метод .
Кому | См. |
---|---|
Разрешить форме реагировать на входные данные пользовательского интерфейса во время занятости | Пошаговое руководство. Обработка событий |
Доступность по типу проекта
Тип проекта | Доступно |
---|---|
Приложение Windows Forms | Да |
Библиотека классов | Нет |
Консольное приложение | Нет |
Библиотека элементов управления Windows Forms | Нет |
Библиотека веб-элементов управления | Нет |
Службы Windows | Нет |
Веб-сайт | Нет |