Changes

Understanding C Sharp GUI Events

2 bytes removed, 19:33, 1 April 2009
no edit summary
In the days before graphical environments such as Microsoft windows, applications were developed using a procedural approach. This meant that the path a user would take through an application was dictated by the programmer at the point the application was developed. For example. , the application might display a menu listing several options, and prompt the user to select an option. Depending on the user's selection, the application might display a data input screen in which data would need to be entered in the order in which the fields were displayed on the screen. Once the data was entered the user would then be able to press a key to save the data and return to the menu screen again.
The world of the graphical user interface is very different from the old days. Today a user is presented with windows containing multiple controls such as buttons, text fields, toggles and sliders. The mouse allows the user to interact with any of the visible controls in any order they choose. The programmer can, therefore, no longer dictate the path a user will take through an application. A new way of handling the interaction between a user and an application was needed. This approach is known as ''event handling''.
Instead of a procedural approach to programming, applications are now ''event driven''. In essence, the developer defines what the user interface is to look like, and then defines subroutines which will be called when particular events are triggered. For example, the C# programmer might create a Form containing a number of Buttons. For each Button, the programmer will define the C# code to be executed when a ''Click'' event is triggered on each button. When the application runs, an ''event loop'' sits in the background and waits for an event to be triggered in the application. Once an event is triggered (such as button click or a a keystroke in a text field) the event loop looks at the object from which the event was triggered to see if an event handler has been defined by the developer for that particular event type. If a handler has been defined, that subroutine is executed and the event loop continues to loop waiting for the next event to be triggered.
== Event Triggers ==
<tt>myLabel.Text</tt>
To modify the event procedure, therefore, the code this for this event needs to be modified as follows:
<pre>
== Compile and Running the Application ==
Finally, build and run the application by pressing the '''F5''' key or clicking on the Debug button in the toolbar (the button displaying the green ''Play'' triangle). The application should compile and run. When you type text into the TextBox the characters should also appear in the label:
[[Image:vb_event_example.jpg]]