Provides pop-up or online Help for controls.
Namespace:
System.Windows.Forms
Assembly:
System.Windows.Forms (in System.Windows.Forms.dll)
Visual Basic (Declaration)
Public Class HelpProvider _
Inherits Component _
Implements IExtenderProvider
Dim instance As HelpProvider
public class HelpProvider : Component,
IExtenderProvider
public ref class HelpProvider : public Component,
IExtenderProvider
public class HelpProvider extends Component implements IExtenderProvider
Each instance of HelpProvider maintains a collection of references to controls associated with it. To associate a Help file with the HelpProvider, set the HelpNamespace property. You specify the type of Help provided by calling the SetHelpNavigator method and providing a HelpNavigator value for the specified control. You provide the keyword or topic for the Help by calling the SetHelpKeyword method. To open Help to a specific topic, the keyword should be passed in the form topicName.htm.
To associate a specific Help string with a control, use the SetHelpString method. The string that you associate with a control using this method is displayed in a pop-up window when the user presses the F1 key while the control has focus.
If the HelpNamespace property has not been set, you must use the SetHelpString method to provide the Help text. If you have set both HelpNamespace and the Help string, Help based on the HelpNamespace will take precedence.
HelpProvider calls methods on the Help class to provide Help functionality.
The following code example demonstrates using the HelpProvider class to display context-sensitive Help on a form containing four address fields. The example uses the SetHelpString method to set the Help ToolTip text. When you use the context-sensitive Help button and click the Help cursor on an address field, the Help ToolTip appears with the specified text. When you press the F1 key with the focus in an address field, the mspaint.chm Help file is displayed because the HelpNamespace property has been set to mspaint.chm. The SetShowHelp method is called for each address control to identify that it has Help content available.
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Private addressTextBox As System.Windows.Forms.TextBox
Private label2 As System.Windows.Forms.Label
Private cityTextBox As System.Windows.Forms.TextBox
Private label3 As System.Windows.Forms.Label
Private stateTextBox As System.Windows.Forms.TextBox
Private zipTextBox As System.Windows.Forms.TextBox
Private helpProvider1 As System.Windows.Forms.HelpProvider
Private 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.Location = New System.Drawing.Point(8, 80)
Me.helpLabel.Size = New System.Drawing.Size(272, 72)
Me.helpLabel.TabIndex = 1
Me.helpLabel.Text = "Click the Help button in the title bar, then click a control " & _
"to see a Help tooltip for the control. Click on a control and press F1 to invoke " & _
"the Help system with a sample Help file."
' 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 = ","
' Creates the HelpProvider.
Me.helpProvider1 = New System.Windows.Forms.HelpProvider()
' Tell the HelpProvider what controls to provide Help for, and
' what the Help string is.
Me.helpProvider1.SetHelpString(Me.addressTextBox, "Enter the street address in this text box.")
Me.helpProvider1.SetShowHelp(Me.addressTextBox, True)
Me.helpProvider1.SetHelpString(Me.cityTextBox, "Enter the city here.")
Me.helpProvider1.SetShowHelp(Me.cityTextBox, True)
Me.helpProvider1.SetHelpString(Me.stateTextBox, "Enter the state in this text box.")
Me.helpProvider1.SetShowHelp(Me.stateTextBox, True)
Me.helpProvider1.SetHelpString(Me.zipTextBox, "Enter the zip code here.")
Me.helpProvider1.SetShowHelp(Me.zipTextBox, True)
' Sets what the Help file will be for the HelpProvider.
Me.helpProvider1.HelpNamespace = "mspaint.chm"
' Set properties for the different address fields.
' 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.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.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.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.Text = ""
' Add the controls to the form.
Me.Controls.AddRange(New System.Windows.Forms.Control() { Me.zipTextBox, _
Me.stateTextBox, Me.label3, _
Me.cityTextBox, Me.label2, _
Me.helpLabel, Me.addressTextBox})
' Set the form to look like a dialog, and show the HelpButton.
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.HelpButton = True
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.ClientSize = New System.Drawing.Size(292, 160)
Me.Text = "Help Provider Demonstration"
End Sub 'New
End Class '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.HelpProvider helpProvider1;
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 the Help button in the title bar, then click a control " +
"to see a Help tooltip for the control. Click on a control and press F1 to invoke " +
"the Help system with a sample Help file.";
// 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 = ",";
// Create the HelpProvider.
this.helpProvider1 = new System.Windows.Forms.HelpProvider();
// Tell the HelpProvider what controls to provide help for, and
// what the help string is.
this.helpProvider1.SetShowHelp(this.addressTextBox, true);
this.helpProvider1.SetHelpString(this.addressTextBox, "Enter the street address in this text box.");
this.helpProvider1.SetShowHelp(this.cityTextBox, true);
this.helpProvider1.SetHelpString(this.cityTextBox, "Enter the city here.");
this.helpProvider1.SetShowHelp(this.stateTextBox, true);
this.helpProvider1.SetHelpString(this.stateTextBox, "Enter the state in this text box.");
this.helpProvider1.SetShowHelp(this.zipTextBox, true);
this.helpProvider1.SetHelpString(this.zipTextBox, "Enter the zip code here.");
// Set what the Help file will be for the HelpProvider.
this.helpProvider1.HelpNamespace = "mspaint.chm";
// Sets properties for the different address fields.
// 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.Text = "";
// 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.Text = "";
// 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.Text = "";
// Zip TextBox
this.zipTextBox.Location = new System.Drawing.Point(192, 48);
this.zipTextBox.Size = new System.Drawing.Size(88, 20);
this.zipTextBox.TabIndex = 6;
this.zipTextBox.Text = "";
// Add the controls to the form.
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.zipTextBox, this.stateTextBox,
this.label3, this.cityTextBox,
this.label2, this.helpLabel,
this.addressTextBox});
// Set the form to look like a dialog, and show the HelpButton.
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.HelpButton = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.ClientSize = new System.Drawing.Size(292, 160);
this.Text = "Help Provider Demonstration";
}
}
#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::HelpProvider^ helpProvider1;
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 the Help button in the title bar, then click a control to see a Help tooltip for the control. Click on a control and press F1 to invoke the Help system with a sample Help file.";
// 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 = ", ";
// Create the HelpProvider.
this->helpProvider1 = gcnew System::Windows::Forms::HelpProvider;
// Tell the HelpProvider what controls to provide help for, and
// what the help String* is.
this->helpProvider1->SetShowHelp( this->addressTextBox, true );
this->helpProvider1->SetHelpString( this->addressTextBox, "Enter the street address in this text box." );
this->helpProvider1->SetShowHelp( this->cityTextBox, true );
this->helpProvider1->SetHelpString( this->cityTextBox, "Enter the city here." );
this->helpProvider1->SetShowHelp( this->stateTextBox, true );
this->helpProvider1->SetHelpString( this->stateTextBox, "Enter the state in this text box." );
this->helpProvider1->SetShowHelp( this->zipTextBox, true );
this->helpProvider1->SetHelpString( this->zipTextBox, "Enter the zip code here." );
// Set what the Help file will be for the HelpProvider.
this->helpProvider1->HelpNamespace = "mspaint.chm";
// Sets properties for the different address fields.
// Address TextBox
this->addressTextBox->Location = System::Drawing::Point( 16, 24 );
this->addressTextBox->Size = System::Drawing::Size( 264, 20 );
this->addressTextBox->TabIndex = 0;
this->addressTextBox->Text = "";
// City TextBox
this->cityTextBox->Location = System::Drawing::Point( 16, 48 );
this->cityTextBox->Size = System::Drawing::Size( 120, 20 );
this->cityTextBox->TabIndex = 3;
this->cityTextBox->Text = "";
// 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->Text = "";
// Zip TextBox
this->zipTextBox->Location = System::Drawing::Point( 192, 48 );
this->zipTextBox->Size = System::Drawing::Size( 88, 20 );
this->zipTextBox->TabIndex = 6;
this->zipTextBox->Text = "";
// Add the controls to the form.
array<System::Windows::Forms::Control^>^temp0 = {this->zipTextBox,this->stateTextBox,this->label3,this->cityTextBox,this->label2,this->helpLabel,this->addressTextBox};
this->Controls->AddRange( temp0 );
// Set the form to look like a dialog, and show the HelpButton.
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
this->HelpButton = true;
this->MaximizeBox = false;
this->MinimizeBox = false;
this->ClientSize = System::Drawing::Size( 292, 160 );
this->Text = "Help Provider Demonstration";
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
System..::.Object
System..::.MarshalByRefObject
System.ComponentModel..::.Component
System.Windows.Forms..::.HelpProvider
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Reference