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