Control.HelpRequested イベント

ユーザーがコントロールのヘルプを要求すると発生します。

Public Event HelpRequested As HelpEventHandler
[C#]
public event HelpEventHandler HelpRequested;
[C++]
public: __event HelpEventHandler* HelpRequested;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、HelpEventArgs 型の引数を受け取りました。次の HelpEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
Handled ヘルプ イベントが処理されたかどうかを示す値を取得または設定します。
MousePos マウス ポインタの画面座標を取得します。

解説

HelpRequested イベントは、一般的に、ユーザーが F1 キーを押すか、関連付けられている状況依存のヘルプ ボタンをクリックすると発生します。

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#, C++] HelpRequested イベントを処理して、4 つのアドレス フィールドを持つフォームにカスタム ヘルプの内容を表示する例を次に示します。 HelpRequested イベントは、アドレス フィールドにフォーカスがあるときに F1 キーを押すか、状況依存のヘルプのボタンを使用してヘルプ カーソルをアドレス フィールド上に合わせてクリックすると、生成されます。 Handled プロパティは、 HelpRequested イベントが処理されることを示す true に設定されます。この例では、ヘルプ テキストを Control.Tag プロパティに格納する方法についても示します。

 
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

[C#] 
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;
    }
}

[C++] 
#using <mscorlib.dll>
#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 __gc 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 = 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 =  System::Drawing::Point(8, 80);
      this->helpLabel->Size =  System::Drawing::Size(272, 72);
      this->helpLabel->Text = S"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 = S"Address:";

      // Comma Label
      this->label3->Location =  System::Drawing::Point(136, 56);
      this->label3->Size =  System::Drawing::Size(16, 16);
      this->label3->Text = S", ";

      // 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 = S"Enter the street address in this text box.";
      this->addressTextBox->Text = S"";
      this->addressTextBox->HelpRequested += new 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 = S"Enter the city here.";
      this->cityTextBox->Text = S"";
      this->cityTextBox->HelpRequested += new 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 = S"Enter the state in this text box.";
      this->stateTextBox->Text = S"";
      this->stateTextBox->HelpRequested += new System::Windows::Forms::HelpEventHandler(this, &Form1::textBox_HelpRequested);

      // Zip TextBox
      this->zipTextBox->Location =  System::Drawing::Point(192, 48);
      this->zipTextBox->Name = S"zipTextBox";
      this->zipTextBox->Size =  System::Drawing::Size(88, 20);
      this->zipTextBox->TabIndex = 6;
      this->zipTextBox->Tag = S"Enter the zip code here.";
      this->zipTextBox->Text = S"";
      this->zipTextBox->HelpRequested += new 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);

      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 = S"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(new Form1());
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Windows.Forms 名前空間 | OnHelpRequested | HelpProvider | Help