Procedure-driven programming, which you can think of as traditional programming, defines the programming process as the development of procedures that explicitly direct the flow of data and control.
Event-driven programming defines the programming process as the development of procedures that respond to the flow of data and control as directed by the user, program, or operating system.
These programming models differ in flow of execution and structure. In addition, each model works best with a particular programming environment.