HelpEventHandler Delegate
Assembly: System.Windows.Forms (in system.windows.forms.dll)
'Declaration Public Delegate Sub HelpEventHandler ( _ sender As Object, _ hlpevent As HelpEventArgs _ ) 'Usage Dim instance As New HelpEventHandler(AddressOf HandlerMethod)
/** @delegate */ public delegate void HelpEventHandler ( Object sender, HelpEventArgs hlpevent )
JScript supports the use of delegates, but not the declaration of new ones.
Parameters
- sender
The source of the event.
- hlpevent
A HelpEventArgs that contains the event data.
When you create a HelpEventHandler delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about handling events with delegates, see Events and Delegates.
The following example demonstrates handling the HelpRequested event to display custom Help content on a form containing four address fields. The HelpRequested event is raised either by pressing the F1 key with the focus in an address field, or by the using the context-sensitive Help button and clicking the Help cursor on an address field. The Handled property is set to true to indicate that the HelpRequested event is handled. The example also demonstrates storing the Help text in the Control.Tag property.
Imports System Imports System.Drawing Imports System.Windows.Forms Public Class Form1 Inherits System.Windows.Forms.Form Private WithEvents addressTextBox As System.Windows.Forms.TextBox Private WithEvents label2 As System.Windows.Forms.Label Private WithEvents cityTextBox As System.Windows.Forms.TextBox Private WithEvents label3 As System.Windows.Forms.Label Private WithEvents stateTextBox As System.Windows.Forms.TextBox Private WithEvents zipTextBox As System.Windows.Forms.TextBox Private WithEvents helpLabel As System.Windows.Forms.Label <STAThread()> _ Shared Sub Main() Application.Run(New Form1) End Sub 'Main Public Sub New() Me.addressTextBox = New System.Windows.Forms.TextBox Me.helpLabel = New System.Windows.Forms.Label Me.label2 = New System.Windows.Forms.Label Me.cityTextBox = New System.Windows.Forms.TextBox Me.label3 = New System.Windows.Forms.Label Me.stateTextBox = New System.Windows.Forms.TextBox Me.zipTextBox = New System.Windows.Forms.TextBox ' Help Label Me.helpLabel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.helpLabel.Location = New System.Drawing.Point(8, 80) Me.helpLabel.Size = New System.Drawing.Size(272, 72) Me.helpLabel.Text = "Click on any control to give it focus, and then " & _ "press F1 to display help for that" + " control. Alternately, you can " & _ "click the help button at the top of the dialog and then click on a control." ' Address Label Me.label2.Location = New System.Drawing.Point(16, 8) Me.label2.Size = New System.Drawing.Size(100, 16) Me.label2.Text = "Address:" ' Comma Label Me.label3.Location = New System.Drawing.Point(136, 56) Me.label3.Size = New System.Drawing.Size(16, 16) Me.label3.Text = "," ' Address TextBox Me.addressTextBox.Location = New System.Drawing.Point(16, 24) Me.addressTextBox.Size = New System.Drawing.Size(264, 20) Me.addressTextBox.TabIndex = 0 Me.addressTextBox.Tag = "Enter the stree address in this text box." Me.addressTextBox.Text = "" ' City TextBox Me.cityTextBox.Location = New System.Drawing.Point(16, 48) Me.cityTextBox.Size = New System.Drawing.Size(120, 20) Me.cityTextBox.TabIndex = 3 Me.cityTextBox.Tag = "Enter the city here." Me.cityTextBox.Text = "" ' State TextBox Me.stateTextBox.Location = New System.Drawing.Point(152, 48) Me.stateTextBox.MaxLength = 2 Me.stateTextBox.Size = New System.Drawing.Size(32, 20) Me.stateTextBox.TabIndex = 5 Me.stateTextBox.Tag = "Enter the state in this text box." Me.stateTextBox.Text = "" ' Zip TextBox Me.zipTextBox.Location = New System.Drawing.Point(192, 48) Me.zipTextBox.Size = New System.Drawing.Size(88, 20) Me.zipTextBox.TabIndex = 6 Me.zipTextBox.Tag = "Enter the zip code here." Me.zipTextBox.Text = "" ' Set up how the form should be displayed and add the controls to the form. Me.ClientSize = New System.Drawing.Size(292, 160) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.zipTextBox, _ Me.stateTextBox, Me.label3, Me.cityTextBox, _ Me.label2, Me.helpLabel, Me.addressTextBox}) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog Me.HelpButton = True Me.MaximizeBox = False Me.MinimizeBox = False Me.Text = "Help Event Demonstration" End Sub 'New Private Sub textBox_HelpRequested(ByVal sender As Object, ByVal hlpevent As System.Windows.Forms.HelpEventArgs) Handles addressTextBox.HelpRequested, cityTextBox.HelpRequested, stateTextBox.HelpRequested, zipTextBox.HelpRequested ' This event is raised when the F1 key is pressed or the ' Help cursor is clicked on any of the address fields. ' The Help text for the field is in the control's ' Tag property. It is retrieved and displayed in the label. Dim requestingControl As Control = CType(sender, Control) helpLabel.Text = CStr(requestingControl.Tag) hlpevent.Handled = True End Sub 'textBox_HelpRequested End Class 'Form1
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
public class Form1 extends System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox addressTextBox;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox cityTextBox;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox stateTextBox;
private System.Windows.Forms.TextBox zipTextBox;
private System.Windows.Forms.Label helpLabel;
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
public Form1()
{
this.addressTextBox = new System.Windows.Forms.TextBox();
this.helpLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.cityTextBox = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.stateTextBox = new System.Windows.Forms.TextBox();
this.zipTextBox = new System.Windows.Forms.TextBox();
// Help Label
this.helpLabel.set_BorderStyle(
System.Windows.Forms.BorderStyle.Fixed3D);
this.helpLabel.set_Location(new System.Drawing.Point(8, 80));
this.helpLabel.set_Size(new System.Drawing.Size(272, 72));
this.helpLabel.set_Text("Click on any control to give it focus, "
+ "and then press F1 to display help for that control. "
+ "Alternately, you can click the help button at the top of "
+ "the dialog and then click on a control.");
// Address Label
this.label2.set_Location(new System.Drawing.Point(16, 8));
this.label2.set_Size(new System.Drawing.Size(100, 16));
this.label2.set_Text("Address:");
// Comma Label
this.label3.set_Location(new System.Drawing.Point(136, 56));
this.label3.set_Size(new System.Drawing.Size(16, 16));
this.label3.set_Text(",");
// Address TextBox
this.addressTextBox.set_Location(new System.Drawing.Point(16, 24));
this.addressTextBox.set_Size(new System.Drawing.Size(264, 20));
this.addressTextBox.set_TabIndex(0);
this.addressTextBox.set_Tag("Enter the street address "
+ "in this text box.");
this.addressTextBox.set_Text("");
this.addressTextBox.add_HelpRequested(
new System.Windows.Forms.HelpEventHandler(
this.TextBox_HelpRequested));
// City TextBox
this.cityTextBox.set_Location(new System.Drawing.Point(16, 48));
this.cityTextBox.set_Size(new System.Drawing.Size(120, 20));
this.cityTextBox.set_TabIndex(3);
this.cityTextBox.set_Tag("Enter the city here.");
this.cityTextBox.set_Text("");
this.cityTextBox.add_HelpRequested(
new System.Windows.Forms.HelpEventHandler(
this.TextBox_HelpRequested));
// State TextBox
this.stateTextBox.set_Location(new System.Drawing.Point(152, 48));
this.stateTextBox.set_MaxLength(2);
this.stateTextBox.set_Size(new System.Drawing.Size(32, 20));
this.stateTextBox.set_TabIndex(5);
this.stateTextBox.set_Tag("Enter the state in this text box.");
this.stateTextBox.set_Text("");
this.stateTextBox.add_HelpRequested(
new System.Windows.Forms.HelpEventHandler(
this.TextBox_HelpRequested));
// Zip TextBox
this.zipTextBox.set_Location(new System.Drawing.Point(192, 48));
this.zipTextBox.set_Name("zipTextBox");
this.zipTextBox.set_Size(new System.Drawing.Size(88, 20));
this.zipTextBox.set_TabIndex(6);
this.zipTextBox.set_Tag("Enter the zip code here.");
this.zipTextBox.set_Text("");
this.zipTextBox.add_HelpRequested(
new System.Windows.Forms.HelpEventHandler(
this.TextBox_HelpRequested));
// Set up how the form should be displayed and add the controls
// to the form.
this.set_ClientSize(new System.Drawing.Size(292, 160));
this.get_Controls().AddRange(new System.Windows.Forms.Control[] {
this.zipTextBox, this.stateTextBox, this.label3, this.cityTextBox,
this.label2, this.helpLabel, this.addressTextBox });
this.set_FormBorderStyle(
System.Windows.Forms.FormBorderStyle.FixedDialog);
this.set_HelpButton(true);
this.set_MaximizeBox(false);
this.set_MinimizeBox(false);
this.set_Text("Help Event Demonstration");
} //Form1
private void TextBox_HelpRequested(Object sender,
System.Windows.Forms.HelpEventArgs hlpEvent)
{
// This event is raised when the F1 key is pressed or the
// Help cursor is clicked on any of the address fields.
// The Help text for the field is in the control's
// Tag property. It is retrieved and displayed in the label.
Control requestingControl = (Control)sender;
helpLabel.set_Text((String)requestingControl.get_Tag());
hlpEvent.set_Handled(true);
} //TextBox_HelpRequested
} //Form1
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.