Control Events
Controls on a form are represented in code as fields—one field for each control. For example, when the Visual Studio .NET Windows Forms Designer is used to add a text box to a form, the following declaration is added to the form class:
Private WithEvents TextBox1 As System.Windows.Forms.TextBox
This declaration doesn’t instantiate the control; it only defines a field that can hold a reference to a control of type TextBox. The control is instantiated in the InitializeComponent subroutine, which is called in the Form class’s constructor. The code that instantiates the control looks like this:
Me.TextBox1 = New System.Windows.Forms.TextBox( )
As discussed in Chapter 2, when a field
declaration includes the WithEvents
keyword, the
parent class can handle events that the referenced object raises. To
do so, the parent class must define a handler method having the
appropriate signature, and the definition of the method must include
a Handles
clause to link the method to the
appropriate event on the appropriate object. For example, here is the
definition of a handler method for the Click event of TextBox1:
Private Sub TextBox1_Click( _ ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles TextBox1.Click ' ... End Sub
The event-handler method can be given any name, but it is a common
convention to use a name of the form
FieldName
_
EventName
. The event-handler method’s signature must correspond to the signature of the event being handled. By convention, event signatures ...
Get Programming Visual Basic .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.