Event-driven programming

In computer programming, event-driven programming also known as event-based programming is a programming method in which the flow of the program is determined by sensor outputs or user actions (such as mouse clicks, key presses) or by messages from other programs or threads running on the computer. 
Event-driven programs can be written using any of the computer programming languages, although the task is easier in languages that provide high-level of abstractions to support it. Some integrated development environments provide all assisting methods that automate most tasks required for events handling.