WindowsFormsApplicationBase.DoEvents Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Processes all Windows messages currently in the message queue.
public:
void DoEvents();
public void DoEvents ();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()
Examples
This example uses the My.Application.DoEvents
method to allow the UI for TextBox1
to update.
Private Sub TestDoEvents()
For i As Integer = 0 To 10000
TextBox1.Text = i.ToString
My.Application.DoEvents()
Next
End Sub
This code should be in a form that has a TextBox1
component with a Text
property.
Remarks
The My.Application.DoEvents
method allows your application to handle other events that might be raised while you code runs. The My.Application.DoEvents
method has the same behavior as the DoEvents method.
When you run a Windows Forms application, it creates a new form, which then waits for events to be handled. Each time the form handles an event, such as a button click, it processes all the code associated with that event. All other events wait in the queue. While your code handles the event, your application does not respond. For example, the window does not repaint if another window is dragged on top.
If you call My.Application.DoEvents
in your code, your application can handle the other events. For example, if your code adds data to a ListBox in a loop, and after each step of the loop it calls My.Application.DoEvents
, your form repaints when another window is dragged over it. If you remove My.Application.DoEvents
from your code, your form will not repaint until the click event handler of the button is finished executing.
Typically, you use this method in a loop to process messages.
Note
The My.Application.DoEvents
method does not process events in exactly the same way as the form does. Use multithreading to make the form directly handle the events. For more information, see Using threads and threading.
Caution
If a method that handles a user interface (UI) event calls the My.Application.DoEvents
method, the method might be re-entered before it finishes. This can happen because the My.Application.DoEvents
method processes Windows messages, and Windows messages can raise events.
The following table lists an example of a task involving the My.Application.DoEvents
method.
To | See |
---|---|
Allow a form to respond to UI input while busy | Walkthrough: Handling Events |
Availability by Project Type
Project type | Available |
---|---|
Windows Forms Application | Yes |
Class Library | No |
Console Application | No |
Windows Forms Control Library | No |
Web Control Library | No |
Windows Service | No |
Web Site | No |