JavaScript Editor Javascript validator     Javascripts

Main Page

Previous Section Next Section

3.3 Event Arguments

Events are handled by delegates. Essentially, a delegate is an object that encapsulates the description of a method to which you may delegate responsibility for handling the event.

For a complete discussion of delegates, see Programming C#, Third Edition, by Jesse Liberty (O'Reilly).

Event handlers must always take two parameters and return nothing (in VB.NET, use a Sub, in C# return void). The first parameter represents the object raising the event. The second, called the event argument, contains information specific to the event, if any. For most events, the event argument is of type EventArgs, which does not expose any properties. So, the general prototype for an event in Visual Basic is:

Private Sub EventName(ByVal sender As Object, _
                      ByVal e As EventArgs)

The general prototype for an event in C# is:

private void EventName (object sender, EventArgs e)

For some controls, the event argument may be of a type derived from EventArgs and may expose properties specific to that event type. For example, the AdRotator control's AdCreated event handler receives an argument of type AdCreatedEventArgs, which has the properties AdProperties, AlternateText, ImageUrl, and NavigateUrl. Chapter 5 details the specifics of the event argument for each control.

Note that when using Visual Studio .NET, the IDE often inserts qualifying namespaces in front of parameter types in event handler declarations. These are redundant, as long as the relevant namespace is already referenced in the project using a using statement in C# or an Imports statement in VB.NET. For example, the default Page_Load event handler in VB.NET inserted by Visual Studio .NET looks like:

Private Sub Page_Load(ByVal sender As System.Object, _
                      ByVal e As System.EventArgs) Handles MyBase.Load

The following declaration works equally as well, since the System namespace is automatically imported into ASP.NET applications:

Private Sub Page_Load(ByVal sender As Object, _
                      ByVal e As EventArgs) Handles MyBase.Load

The default Page_Load event handler in C# inserted by Visual Studio .NET looks like:

private void Page_Load(object sender, System.EventArgs e)

However, all that is strictly necessary is:

private void Page_Load(object sender, EventArgs e)
    Previous Section Next Section

    JavaScript Editor Javascript validator     Javascripts 
    Bitcoin Gambling Site . personal statement writing service