Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Help Class

Definition

Namespace:
System.Windows.Forms
Assembly:
System.Windows.Forms.dll
Source:
Help.cs
Source:
Help.cs
Source:
Help.cs
Source:
Help.cs
Source:
Help.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Encapsulates the HTML Help 1.0 engine.

public ref class Help
public ref class Help abstract sealed
public class Help
public static class Help
type Help = class
Public Class Help
Inheritance
Help

Examples

The following code example displays a form that contains three buttons that can be used to interact with the Mspaint.chm Help file. The Show Help Index button displays the Index tab for the Help file. The Show Help button displays content in the Help file based on the value that is selected in the Help Navigator list. The Show Keyword button displays content in the Help file based on the keyword that is specified in the Keyword text box.

For example, to show the Ovals Help page by the index value, select the HelpNavigator.KeywordIndex value in the Help Navigator drop-down list, type ovals in the Parameter text box, and then click the Show Help button. To show the "To paint with a brush" Help topic by the keyword, type mspaint.chm::/paint_brush.htm in the Keyword text box, and then click the Show Keyword button.

The example uses the ShowHelp method to display the different Help tabs and Help topics, and the ShowHelpIndex method to display the Help index.

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
 String^ helpfile;
 System::Windows::Forms::Button^ showIndex;
 System::Windows::Forms::Button^ showHelp;
 System::Windows::Forms::Label ^ label1;
 System::Windows::Forms::ComboBox^ navigatorCombo;
 System::Windows::Forms::Button^ showKeyword;
 System::Windows::Forms::TextBox^ keyword;
 System::Windows::Forms::Label ^ label2;
 System::Windows::Forms::Label ^ label3;
 System::Windows::Forms::TextBox^ parameterTextBox;

public:
 Form1()
 {
 helpfile = "mspaint.chm";
 this->showIndex = gcnew System::Windows::Forms::Button;
 this->showHelp = gcnew System::Windows::Forms::Button;
 this->navigatorCombo = gcnew System::Windows::Forms::ComboBox;
 this->label1 = gcnew System::Windows::Forms::Label;
 this->showKeyword = gcnew System::Windows::Forms::Button;
 this->keyword = gcnew System::Windows::Forms::TextBox;
 this->label2 = gcnew System::Windows::Forms::Label;
 this->label3 = gcnew System::Windows::Forms::Label;
 this->parameterTextBox = gcnew System::Windows::Forms::TextBox;
 
 // Help Navigator Label
 this->label1->Location = System::Drawing::Point( 112, 64 );
 this->label1->Size = System::Drawing::Size( 168, 16 );
 this->label1->Text = "Help Navigator:";
 
 // Keyword Label 
 this->label2->Location = System::Drawing::Point( 120, 184 );
 this->label2->Size = System::Drawing::Size( 100, 16 );
 this->label2->Text = "Keyword:";
 
 // Parameter Label
 this->label3->Location = System::Drawing::Point( 112, 120 );
 this->label3->Size = System::Drawing::Size( 168, 16 );
 this->label3->Text = "Parameter:";
 
 // Show Index Button
 this->showIndex->Location = System::Drawing::Point( 16, 16 );
 this->showIndex->Size = System::Drawing::Size( 264, 32 );
 this->showIndex->TabIndex = 0;
 this->showIndex->Text = "Show Help Index";
 this->showIndex->Click += gcnew System::EventHandler( this, &Form1::showIndex_Click );
 
 // Show Help Button
 this->showHelp->Location = System::Drawing::Point( 16, 80 );
 this->showHelp->Size = System::Drawing::Size( 80, 80 );
 this->showHelp->TabIndex = 1;
 this->showHelp->Text = "Show Help";
 this->showHelp->Click += gcnew System::EventHandler( this, &Form1::showHelp_Click );
 
 // Show Keyword Button
 this->showKeyword->Location = System::Drawing::Point( 16, 192 );
 this->showKeyword->Size = System::Drawing::Size( 88, 32 );
 this->showKeyword->TabIndex = 4;
 this->showKeyword->Text = "Show Keyword";
 this->showKeyword->Click += gcnew System::EventHandler( this, &Form1::showKeyword_Click );
 
 // Help Navigator ComboBox
 this->navigatorCombo->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList;
 this->navigatorCombo->Location = System::Drawing::Point( 112, 80 );
 this->navigatorCombo->Size = System::Drawing::Size( 168, 21 );
 this->navigatorCombo->TabIndex = 2;
 
 // Keyword TextBox
 this->keyword->Location = System::Drawing::Point( 120, 200 );
 this->keyword->Size = System::Drawing::Size( 160, 20 );
 this->keyword->TabIndex = 5;
 this->keyword->Text = "";
 
 // Parameter TextBox
 this->parameterTextBox->Location = System::Drawing::Point( 112, 136 );
 this->parameterTextBox->Size = System::Drawing::Size( 168, 20 );
 this->parameterTextBox->TabIndex = 8;
 this->parameterTextBox->Text = "";
 
 // Set up how the form should be displayed and add the controls to the form.
 this->ClientSize = System::Drawing::Size( 292, 266 );
 array<System::Windows::Forms::Control^>^formControls = {this->parameterTextBox,this->label3,this->label2,this->keyword,this->showKeyword,this->label1,this->navigatorCombo,this->showHelp,this->showIndex};
 this->Controls->AddRange( formControls );
 this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
 this->Text = "Help App";
 
 // Load the various values of the HelpNavigator enumeration
 // into the combo box.
 TypeConverter^ converter;
 converter = TypeDescriptor::GetConverter( HelpNavigator::typeid );
 System::Collections::IEnumerator^ myEnum = converter->GetStandardValues()->GetEnumerator();
 while ( myEnum->MoveNext() )
 {
 Object^ value = safe_cast<Object^>(myEnum->Current);
 navigatorCombo->Items->Add( value );
 }
 }

private:
 void showIndex_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
 {
 
 // Display the index for the help file.
 Help::ShowHelpIndex( this, helpfile );
 }

 void showHelp_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
 {
 
 // Display Help using the Help navigator enumeration
 // that is selected in the combo box. Some enumeration
 // values make use of an extra parameter, which can
 // be passed in through the Parameter text box.
 HelpNavigator navigator = HelpNavigator::TableOfContents;
 if ( navigatorCombo->SelectedItem != nullptr )
 {
 navigator = *safe_cast<HelpNavigator^>(navigatorCombo->SelectedItem);
 }

 Help::ShowHelp( this, helpfile, navigator, parameterTextBox->Text );
 }

 void showKeyword_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
 {
 
 // Display help using the provided keyword.
 Help::ShowHelp( this, helpfile, keyword->Text );
 }
};

[STAThread]
int main()
{
 Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
 private const string helpfile = "mspaint.chm";
 private System.Windows.Forms.Button showIndex;
 private System.Windows.Forms.Button showHelp;
 private System.Windows.Forms.Label label1;
 private System.Windows.Forms.ComboBox navigatorCombo;
 private System.Windows.Forms.Button showKeyword;
 private System.Windows.Forms.TextBox keyword;
 private System.Windows.Forms.Label label2;
 private System.Windows.Forms.Label label3;
 private System.Windows.Forms.TextBox parameterTextBox;

 [STAThread]
 static void Main() 
 {
 Application.Run(new Form1());
 }

 public Form1()
 {
 this.showIndex = new System.Windows.Forms.Button();
 this.showHelp = new System.Windows.Forms.Button();
 this.navigatorCombo = new System.Windows.Forms.ComboBox();
 this.label1 = new System.Windows.Forms.Label();
 this.showKeyword = new System.Windows.Forms.Button();
 this.keyword = new System.Windows.Forms.TextBox();
 this.label2 = new System.Windows.Forms.Label();
 this.label3 = new System.Windows.Forms.Label();
 this.parameterTextBox = new System.Windows.Forms.TextBox();

 // Help Navigator Label
 this.label1.Location = new System.Drawing.Point(112, 64);
 this.label1.Size = new System.Drawing.Size(168, 16);
 this.label1.Text = "Help Navigator:";

 // Keyword Label
 this.label2.Location = new System.Drawing.Point(120, 184);
 this.label2.Size = new System.Drawing.Size(100, 16);
 this.label2.Text = "Keyword:";

 // Parameter Label
 this.label3.Location = new System.Drawing.Point(112, 120);
 this.label3.Size = new System.Drawing.Size(168, 16);
 this.label3.Text = "Parameter:";

 // Show Index Button
 this.showIndex.Location = new System.Drawing.Point(16, 16);
 this.showIndex.Size = new System.Drawing.Size(264, 32);
 this.showIndex.TabIndex = 0;
 this.showIndex.Text = "Show Help Index";
 this.showIndex.Click += new System.EventHandler(this.showIndex_Click);

 // Show Help Button
 this.showHelp.Location = new System.Drawing.Point(16, 80);
 this.showHelp.Size = new System.Drawing.Size(80, 80);
 this.showHelp.TabIndex = 1;
 this.showHelp.Text = "Show Help";
 this.showHelp.Click += new System.EventHandler(this.showHelp_Click);

 // Show Keyword Button
 this.showKeyword.Location = new System.Drawing.Point(16, 192);
 this.showKeyword.Size = new System.Drawing.Size(88, 32);
 this.showKeyword.TabIndex = 4;
 this.showKeyword.Text = "Show Keyword";
 this.showKeyword.Click += new System.EventHandler(this.showKeyword_Click);

 // Help Navigator ComboBox
 this.navigatorCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 this.navigatorCombo.Location = new System.Drawing.Point(112, 80);
 this.navigatorCombo.Size = new System.Drawing.Size(168, 21);
 this.navigatorCombo.TabIndex = 2;

 // Keyword TextBox
 this.keyword.Location = new System.Drawing.Point(120, 200);
 this.keyword.Size = new System.Drawing.Size(160, 20);
 this.keyword.TabIndex = 5;
 this.keyword.Text = "";

 // Parameter TextBox
 this.parameterTextBox.Location = new System.Drawing.Point(112, 136);
 this.parameterTextBox.Size = new System.Drawing.Size(168, 20);
 this.parameterTextBox.TabIndex = 8;
 this.parameterTextBox.Text = "";

 // Set up how the form should be displayed and add the controls to the form.
 this.ClientSize = new System.Drawing.Size(292, 266);
 this.Controls.AddRange(new System.Windows.Forms.Control[] {
 this.parameterTextBox, this.label3,
 this.label2, this.keyword,
 this.showKeyword, this.label1,
 this.navigatorCombo, this.showHelp,
 this.showIndex});
 this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 this.Text = "Help App";

 // Load the various values of the HelpNavigator enumeration
 // into the combo box.
 TypeConverter converter;
 converter = TypeDescriptor.GetConverter(typeof(HelpNavigator));
 foreach(object value in converter.GetStandardValues()) 
 {
 navigatorCombo.Items.Add(value);
 }
 }

 private void showIndex_Click(object sender, System.EventArgs e)
 {
 // Display the index for the help file.
 Help.ShowHelpIndex(this, helpfile);
 }
 private void showHelp_Click(object sender, System.EventArgs e)
 {
 // Display Help using the Help navigator enumeration
 // that is selected in the combo box. Some enumeration
 // values make use of an extra parameter, which can
 // be passed in through the Parameter text box.
 HelpNavigator navigator = HelpNavigator.TableOfContents;
 if (navigatorCombo.SelectedItem != null)
 {
 navigator = (HelpNavigator)navigatorCombo.SelectedItem;
 }
 Help.ShowHelp(this, helpfile, navigator, parameterTextBox.Text);
 }
 private void showKeyword_Click(object sender, System.EventArgs e)
 {
 // Display help using the provided keyword.
 Help.ShowHelp(this, helpfile, keyword.Text);
 }
}
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms

Public Class Form1
 Inherits System.Windows.Forms.Form
 Private helpfile As String = "mspaint.chm"
 Private WithEvents showIndex As System.Windows.Forms.Button
 Private WithEvents showHelp As System.Windows.Forms.Button
 Private WithEvents label1 As System.Windows.Forms.Label
 Private WithEvents navigatorCombo As System.Windows.Forms.ComboBox
 Private WithEvents showKeyword As System.Windows.Forms.Button
 Private WithEvents keyword As System.Windows.Forms.TextBox
 Private WithEvents label2 As System.Windows.Forms.Label
 Private WithEvents label3 As System.Windows.Forms.Label
 Private WithEvents parameterTextBox As System.Windows.Forms.TextBox

 <STAThread()> _
 Shared Sub Main()
 Application.Run(New Form1)
 End Sub
 
 Public Sub New()
 Me.showIndex = New System.Windows.Forms.Button
 Me.showHelp = New System.Windows.Forms.Button
 Me.navigatorCombo = New System.Windows.Forms.ComboBox
 Me.label1 = New System.Windows.Forms.Label
 Me.showKeyword = New System.Windows.Forms.Button
 Me.keyword = New System.Windows.Forms.TextBox
 Me.label2 = New System.Windows.Forms.Label
 Me.label3 = New System.Windows.Forms.Label
 Me.parameterTextBox = New System.Windows.Forms.TextBox

 ' Help Navigator Label
 Me.label1.Location = New System.Drawing.Point(112, 64)
 Me.label1.Size = New System.Drawing.Size(168, 16)
 Me.label1.Text = "Help Navigator:"

 ' Keyword Label
 Me.label2.Location = New System.Drawing.Point(120, 184)
 Me.label2.Size = New System.Drawing.Size(100, 16)
 Me.label2.Text = "Keyword:"

 ' Parameter Label
 Me.label3.Location = New System.Drawing.Point(112, 120)
 Me.label3.Size = New System.Drawing.Size(168, 16)
 Me.label3.Text = "Parameter:"

 ' Show Index Button
 Me.showIndex.Location = New System.Drawing.Point(16, 16)
 Me.showIndex.Size = New System.Drawing.Size(264, 32)
 Me.showIndex.TabIndex = 0
 Me.showIndex.Text = "Show Help Index"

 ' Show Help Button
 Me.showHelp.Location = New System.Drawing.Point(16, 80)
 Me.showHelp.Size = New System.Drawing.Size(80, 80)
 Me.showHelp.TabIndex = 1
 Me.showHelp.Text = "Show Help"

 ' Show Keyword Button
 Me.showKeyword.Location = New System.Drawing.Point(16, 192)
 Me.showKeyword.Size = New System.Drawing.Size(88, 32)
 Me.showKeyword.TabIndex = 4
 Me.showKeyword.Text = "Show Keyword"

 ' Help Navigator Combo
 ' 
 Me.navigatorCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
 Me.navigatorCombo.Location = New System.Drawing.Point(112, 80)
 Me.navigatorCombo.Size = New System.Drawing.Size(168, 21)
 Me.navigatorCombo.TabIndex = 2

 ' Keyword TextBox
 Me.keyword.Location = New System.Drawing.Point(120, 200)
 Me.keyword.Size = New System.Drawing.Size(160, 20)
 Me.keyword.TabIndex = 5
 Me.keyword.Text = ""
 ' 
 ' Parameter TextBox
 ' 
 Me.parameterTextBox.Location = New System.Drawing.Point(112, 136)
 Me.parameterTextBox.Size = New System.Drawing.Size(168, 20)
 Me.parameterTextBox.TabIndex = 8
 Me.parameterTextBox.Text = ""

 ' Set up how the form should be displayed and add the controls to the form.
 Me.ClientSize = New System.Drawing.Size(292, 266)
 Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.parameterTextBox, _
 Me.label3, Me.label2, Me.keyword, Me.showKeyword, _
 Me.label1, Me.navigatorCombo, Me.showHelp, Me.showIndex})
 Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
 Me.Text = "Help App"

 ' Load the various values of the HelpNavigator enumeration
 ' into the combo box. 
 Dim converter As TypeConverter
 converter = TypeDescriptor.GetConverter(GetType(HelpNavigator))

 Dim value As Object
 For Each value In converter.GetStandardValues()
 navigatorCombo.Items.Add(value)
 Next value
 End Sub

 Private Sub showIndex_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles showIndex.Click
 ' Display the index for the Help file.
 Help.ShowHelpIndex(Me, helpfile)
 End Sub
 Private Sub showHelp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles showHelp.Click
 ' Display Help using the Help navigator enumeration
 ' that is selected in the combo box. Some enumeration
 ' values make use of an extra parameter, which can
 ' be passed in through the Parameter text box.
 Dim navigator As HelpNavigator = HelpNavigator.TableOfContents
 If (navigatorCombo.SelectedItem IsNot Nothing) Then
 navigator = CType(navigatorCombo.SelectedItem, HelpNavigator)
 End If
 Help.ShowHelp(Me, helpfile, navigator, parameterTextBox.Text)
 End Sub
 Private Sub showKeyword_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles showKeyword.Click
 ' Display Help using the provided keyword. 
 Help.ShowHelp(Me, helpfile, keyword.Text)
 End Sub
End Class

Remarks

You cannot create a new instance of the Help class. To provide Help for an application, call the static ShowHelp and ShowHelpIndex methods.

You can use Help to show compiled Help files (.chm) or HTML files in the HTML Help format. Compiled Help files provide a table of contents, an index, search capability, and keyword links in pages. Shortcuts work only in compiled Help files.

You can generate HTML Help 1.x files by using HTML Help Workshop. For more information about HTML Help, see "HTML Help Workshop" and other HTML Help topics at Microsoft HTML Help.

Methods

Name Description
ShowHelp(Control, String, HelpNavigator, Object)

Displays the contents of the Help file located at the URL supplied by the user.

ShowHelp(Control, String, HelpNavigator)

Displays the contents of the Help file found at the specified URL for a specific topic.

ShowHelp(Control, String, String)

Displays the contents of the Help file found at the specified URL for a specific keyword.

ShowHelp(Control, String)

Displays the contents of the Help file at the specified URL.

ShowHelpIndex(Control, String)

Displays the index of the specified Help file.

ShowPopup(Control, String, Point)

Displays a Help pop-up window.

Applies to

See also


Feedback

Was this page helpful?