Поделиться через


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 Нет
Веб-сайт Нет

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

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