Udostępnij za pośrednictwem


WindowsFormsApplicationBase.DoEvents Metoda

Definicja

Przetwarza wszystkie komunikaty systemu Windows obecnie w kolejce komunikatów.

public:
 void DoEvents();
public void DoEvents ();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()

Przykłady

W tym przykładzie użyto My.Application.DoEvents metody , aby umożliwić aktualizację interfejsu TextBox1 użytkownika.

Private Sub TestDoEvents()
    For i As Integer = 0 To 10000
        TextBox1.Text = i.ToString
        My.Application.DoEvents()
    Next
End Sub

Ten kod powinien być w postaci, która ma TextBox1 składnik z właściwością Text .

Uwagi

Metoda My.Application.DoEvents umożliwia aplikacji obsługę innych zdarzeń, które mogą być zgłaszane podczas uruchamiania kodu. Metoda My.Application.DoEvents ma takie samo zachowanie jak DoEvents metoda.

Po uruchomieniu aplikacji Windows Forms zostanie utworzony nowy formularz, który następnie czeka na obsługę zdarzeń. Za każdym razem, gdy formularz obsługuje zdarzenie, takie jak kliknięcie przycisku, przetwarza cały kod skojarzony z tym zdarzeniem. Wszystkie inne zdarzenia czekają w kolejce. Kod obsługuje zdarzenie, ale aplikacja nie odpowiada. Na przykład okno nie jest ponownie wyświetlane w przypadku przeciągnięcia innego okna na wierzchu.

Jeśli wywołasz My.Application.DoEvents kod, aplikacja może obsługiwać inne zdarzenia. Jeśli na przykład kod dodaje dane do ListBox pętli w pętli, a po każdym kroku pętli wywołuje My.Application.DoEventsfunkcję , formularz jest przemalowany po przeciągnięciu innego okna. Jeśli usuniesz My.Application.DoEvents kod, formularz nie zostanie powtórzony do momentu zakończenia wykonywania procedury obsługi zdarzeń kliknięcia przycisku.

Zazwyczaj ta metoda jest używana w pętli do przetwarzania komunikatów.

Uwaga

Metoda My.Application.DoEvents nie przetwarza zdarzeń w taki sam sposób, jak w przypadku formularza. Użyj wielowątków, aby formularz bezpośrednio obsługiwał zdarzenia. Aby uzyskać więcej informacji, zobacz Używanie wątków i wątków.

Przestroga

Jeśli metoda obsługującą zdarzenie interfejsu użytkownika wywołuje metodę My.Application.DoEvents , metoda może zostać ponownie wprowadzona przed jej zakończeniem. Może się tak zdarzyć, ponieważ My.Application.DoEvents metoda przetwarza komunikaty systemu Windows, a komunikaty systemu Windows mogą zgłaszać zdarzenia.

W poniższej tabeli wymieniono przykład zadania obejmującego metodę My.Application.DoEvents .

Działanie Zobacz
Zezwalaj formularzowi na odpowiadanie na dane wejściowe interfejsu użytkownika podczas zajętości Przewodnik: obsługa zdarzeń

Dostępność według typu projektu

Project type (Typ projektu) Dostępne
Aplikacja interfejsu Windows Forms Tak
Biblioteka klas Nie
Aplikacja konsoli Nie
Biblioteka formantów interfejsu Windows Forms Nie
Biblioteka formantów sieci Web Nie
Usługa systemu Windows Nie
Witryna sieci Web Nie

Dotyczy

Zobacz też