Gambas Documentation - /cat/eventloop

# Event Loop

When a Gambas program has finished executing its `Main()` start function, it enters the so-called event loop.

The program will loop then while:

- There is a Process that runs.

- There is a Timer that is enabled.

- There is a File that is watched.

- There is at least one toplevel Window that was created.

As soon as you have created a window, the event loop will run, even if this window is not visible.

During this loop, it will process any events raised by any object, and for each event, it will call the corresponding event handler.

You can call recursively the event loop by using the WAIT instruction. This may lead to infinite recursion, but this is the only way to refresh the user interface while doing a long processing.

Graphical controls are refreshed during the event loop, not when you change their properties.

### See also

- WAIT

- QUIT