Язык

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

Этот код должен находиться в форме с компонентом со свойством TextBox1Text .

Комментарии

Метод My.Application.DoEvents позволяет приложению обрабатывать другие события, которые могут возникать при выполнении кода. Метод My.Application.DoEvents имеет то же поведение, что DoEvents и метод.

При запуске приложения Windows Forms создается новая форма, которая затем ожидает обработки событий. Каждый раз, когда форма обрабатывает событие, например нажатие кнопки, обрабатывает весь код, связанный с этим событием. Все остальные события ожидают в очереди. Хотя код обрабатывает событие, приложение не отвечает. Например, окно не перенапрягается, если другое окно перетаскивается сверху.

При вызове My.Application.DoEvents кода приложение может обрабатывать другие события. Например, если код добавляет данные ListBox в цикл и после каждого шага цикла My.Application.DoEvents, вызываемого циклом, форма переопределяется, когда другое окно перетаскивается по нему. Если вы удаляете My.Application.DoEvents код, форма не будет перенаправляться до завершения выполнения обработчика событий нажатия кнопки.

Как правило, этот метод используется в цикле для обработки сообщений.

Note

Метод My.Application.DoEvents не обрабатывает события точно так же, как и форма. Используйте многопоточность, чтобы форма непосредственно обрабатывала события. Дополнительные сведения см. в разделе "Использование потоков и многопоточности".

Предостережение

Если метод, обрабатывающий событие пользовательского интерфейса ,вызывает My.Application.DoEvents метод, метод может быть повторно введен до его завершения. Это может произойти, так как метод My.Application.DoEvents обрабатывает сообщения Windows, а Windows сообщения могут вызывать события.

В следующей таблице приведен пример задачи, включающей My.Application.DoEvents метод.

Кому Смотри
Разрешить форме реагировать на входные данные пользовательского интерфейса во время занятой Пошаговое руководство. Обработка событий

Доступность по типу проекта

тип проекта В наличии
Приложение Windows Forms Yes
Библиотека классов Нет
Консольное приложение Нет
Библиотека элементов управления Windows Forms Нет
Библиотека веб-элементов управления Нет
Службы Windows Нет
Веб-сайт Нет

Применяется к

См. также раздел