HelpEventHandler 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表將處理 HelpRequested 之 Control 事件的方法。
public delegate void HelpEventHandler(System::Object ^ sender, HelpEventArgs ^ hlpevent);
public delegate void HelpEventHandler(object sender, HelpEventArgs hlpevent);
public delegate void HelpEventHandler(object? sender, HelpEventArgs hlpevent);
type HelpEventHandler = delegate of obj * HelpEventArgs -> unit
Public Delegate Sub HelpEventHandler(sender As Object, hlpevent As HelpEventArgs)
參數
- sender
- Object
事件的來源。
- hlpevent
- HelpEventArgs
HelpEventArgs,其中包含事件資料。
範例
下列範例示範如何處理 事件, HelpRequested 以在包含四個位址欄位的表單上顯示自訂說明內容。 事件 HelpRequested 會藉由按下 F1 鍵,將焦點放在位址欄位中,或使用上下文相關的 [說明] 按鈕,然後按一下位址欄位上的 [說明] 游標來引發。 屬性 Handled 設定為 true,表示 HelpRequested
事件已處理。 此範例也會示範如何在 屬性中 Control.Tag 儲存解說文字。
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::TextBox^ addressTextBox;
System::Windows::Forms::Label ^ label2;
System::Windows::Forms::TextBox^ cityTextBox;
System::Windows::Forms::Label ^ label3;
System::Windows::Forms::TextBox^ stateTextBox;
System::Windows::Forms::TextBox^ zipTextBox;
System::Windows::Forms::Label ^ helpLabel;
public:
Form1()
{
this->addressTextBox = gcnew System::Windows::Forms::TextBox;
this->helpLabel = gcnew System::Windows::Forms::Label;
this->label2 = gcnew System::Windows::Forms::Label;
this->cityTextBox = gcnew System::Windows::Forms::TextBox;
this->label3 = gcnew System::Windows::Forms::Label;
this->stateTextBox = gcnew System::Windows::Forms::TextBox;
this->zipTextBox = gcnew System::Windows::Forms::TextBox;
// Help Label
this->helpLabel->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
this->helpLabel->Location = System::Drawing::Point( 8, 80 );
this->helpLabel->Size = System::Drawing::Size( 272, 72 );
this->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
this->label2->Location = System::Drawing::Point( 16, 8 );
this->label2->Size = System::Drawing::Size( 100, 16 );
this->label2->Text = "Address:";
// Comma Label
this->label3->Location = System::Drawing::Point( 136, 56 );
this->label3->Size = System::Drawing::Size( 16, 16 );
this->label3->Text = ", ";
// Address TextBox
this->addressTextBox->Location = System::Drawing::Point( 16, 24 );
this->addressTextBox->Size = System::Drawing::Size( 264, 20 );
this->addressTextBox->TabIndex = 0;
this->addressTextBox->Tag = "Enter the street address in this text box.";
this->addressTextBox->Text = "";
this->addressTextBox->HelpRequested += gcnew System::Windows::Forms::HelpEventHandler( this, &Form1::textBox_HelpRequested );
// City TextBox
this->cityTextBox->Location = System::Drawing::Point( 16, 48 );
this->cityTextBox->Size = System::Drawing::Size( 120, 20 );
this->cityTextBox->TabIndex = 3;
this->cityTextBox->Tag = "Enter the city here.";
this->cityTextBox->Text = "";
this->cityTextBox->HelpRequested += gcnew System::Windows::Forms::HelpEventHandler( this, &Form1::textBox_HelpRequested );
// State TextBox
this->stateTextBox->Location = System::Drawing::Point( 152, 48 );
this->stateTextBox->MaxLength = 2;
this->stateTextBox->Size = System::Drawing::Size( 32, 20 );
this->stateTextBox->TabIndex = 5;
this->stateTextBox->Tag = "Enter the state in this text box.";
this->stateTextBox->Text = "";
this->stateTextBox->HelpRequested += gcnew System::Windows::Forms::HelpEventHandler( this, &Form1::textBox_HelpRequested );
// Zip TextBox
this->zipTextBox->Location = System::Drawing::Point( 192, 48 );
this->zipTextBox->Name = "zipTextBox";
this->zipTextBox->Size = System::Drawing::Size( 88, 20 );
this->zipTextBox->TabIndex = 6;
this->zipTextBox->Tag = "Enter the zip code here.";
this->zipTextBox->Text = "";
this->zipTextBox->HelpRequested += gcnew System::Windows::Forms::HelpEventHandler( this, &Form1::textBox_HelpRequested );
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size( 292, 160 );
array<System::Windows::Forms::Control^>^temp0 = {this->zipTextBox,this->stateTextBox,this->label3,this->cityTextBox,this->label2,this->helpLabel,this->addressTextBox};
this->Controls->AddRange( temp0 );
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
this->HelpButton = true;
this->MaximizeBox = false;
this->MinimizeBox = false;
this->Text = "Help Event Demonstration";
}
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 = dynamic_cast<Control^>(sender);
helpLabel->Text = dynamic_cast<String^>(requestingControl->Tag);
hlpevent->Handled = true;
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : 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;
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
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.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.helpLabel.Location = new System.Drawing.Point(8, 80);
this.helpLabel.Size = new System.Drawing.Size(272, 72);
this.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
this.label2.Location = new System.Drawing.Point(16, 8);
this.label2.Size = new System.Drawing.Size(100, 16);
this.label2.Text = "Address:";
// Comma Label
this.label3.Location = new System.Drawing.Point(136, 56);
this.label3.Size = new System.Drawing.Size(16, 16);
this.label3.Text = ",";
// Address TextBox
this.addressTextBox.Location = new System.Drawing.Point(16, 24);
this.addressTextBox.Size = new System.Drawing.Size(264, 20);
this.addressTextBox.TabIndex = 0;
this.addressTextBox.Tag = "Enter the street address in this text box.";
this.addressTextBox.Text = "";
this.addressTextBox.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.textBox_HelpRequested);
// City TextBox
this.cityTextBox.Location = new System.Drawing.Point(16, 48);
this.cityTextBox.Size = new System.Drawing.Size(120, 20);
this.cityTextBox.TabIndex = 3;
this.cityTextBox.Tag = "Enter the city here.";
this.cityTextBox.Text = "";
this.cityTextBox.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.textBox_HelpRequested);
// State TextBox
this.stateTextBox.Location = new System.Drawing.Point(152, 48);
this.stateTextBox.MaxLength = 2;
this.stateTextBox.Size = new System.Drawing.Size(32, 20);
this.stateTextBox.TabIndex = 5;
this.stateTextBox.Tag = "Enter the state in this text box.";
this.stateTextBox.Text = "";
this.stateTextBox.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.textBox_HelpRequested);
// Zip TextBox
this.zipTextBox.Location = new System.Drawing.Point(192, 48);
this.zipTextBox.Name = "zipTextBox";
this.zipTextBox.Size = new System.Drawing.Size(88, 20);
this.zipTextBox.TabIndex = 6;
this.zipTextBox.Tag = "Enter the zip code here.";
this.zipTextBox.Text = "";
this.zipTextBox.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.ClientSize = new System.Drawing.Size(292, 160);
this.Controls.AddRange(new System.Windows.Forms.Control[] { this.zipTextBox,
this.stateTextBox, this.label3, this.cityTextBox,
this.label2, this.helpLabel, this.addressTextBox});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.HelpButton = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Text = "Help Event Demonstration";
}
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.Text = (string)requestingControl.Tag;
hlpevent.Handled = true;
}
}
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
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
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
End Class
備註
建立 HelpEventHandler 委派時,必須識別處理事件的方法。 若要使事件與您的事件處理常式產生關聯,請將委派的執行個體 (Instance) 加入至事件。 除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。 如需使用委派處理事件的詳細資訊,請參閱 處理和引發事件。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |