Encapsulates the HTML Help 1.0 engine.
For a list of all members of this type, see Help Members.
System.Object
System.Windows.Forms.Help
[Visual Basic]
Public Class Help
[C#]
public class Help
[C++]
public __gc class Help
[JScript]
public class Help
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
You cannot create a new instance of the Help class. To provide Help to an application, call the static ShowHelp and ShowHelpIndex methods.
You can use the Help object to show compiled Help files (.chm) or HTML files in the HTML Help format. Compiled Help files provide table of contents, index, search, and keyword links in pages. Shortcuts work only in compiled Help files.
You can generate HTML Help 1.x files with the HTML Help Workshop. For more information on HTML Help, see the "HTML Help Workshop" or the other "HTML Help" topics in MSDN.
Example
[Visual Basic, C#, C++] The following example displays a form with 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 selected in the Help Navigator list. The Show Keyword button displays content in the Help file based on the keyword specified in the Keyword text box.
[Visual Basic, C#, C++] 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 (without the quotation marks) in the Parameter text box, and click the Show Help button. To show the To paint with a brush Help topic by the keyword, type mspaint.chm::/paint_brush.htm (without the quotation marks) in the Keyword text box and click the Show Keyword button.
[Visual Basic, C#, C++] The example uses the ShowHelp method to display the different Help tabs and Help topics, and the ShowHelpIndex method to display the Help index.
[Visual Basic]
Imports System
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 'Main
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 'New
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 'showIndex_Click
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 Not (navigatorCombo.SelectedItem Is Nothing) Then
navigator = CType(navigatorCombo.SelectedItem, HelpNavigator)
End If
Help.ShowHelp(Me, helpfile, navigator, parameterTextBox.Text)
End Sub 'showHelp_Click
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 'showKeyword_Click
End Class 'Form1
[C#]
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);
}
}
[C++]
#using <mscorlib.dll>
#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 __gc 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 = S"mspaint.chm";
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 = System::Drawing::Point(112, 64);
this->label1->Size = System::Drawing::Size(168, 16);
this->label1->Text = S"Help Navigator:";
// Keyword Label
this->label2->Location = System::Drawing::Point(120, 184);
this->label2->Size = System::Drawing::Size(100, 16);
this->label2->Text = S"Keyword:";
// Parameter Label
this->label3->Location = System::Drawing::Point(112, 120);
this->label3->Size = System::Drawing::Size(168, 16);
this->label3->Text = S"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 = S"Show Help Index";
this->showIndex->Click += new 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 = S"Show Help";
this->showHelp->Click += new 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 = S"Show Keyword";
this->showKeyword->Click += new 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 = S"";
// 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 = S"";
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size(292, 266);
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 = S"Help App";
// Load the various values of the HelpNavigator enumeration
// into the combo box.
TypeConverter* converter;
converter = TypeDescriptor::GetConverter(__typeof(HelpNavigator));
System::Collections::IEnumerator* myEnum =
converter->GetStandardValues()->GetEnumerator();
while (myEnum->MoveNext()) {
Object* value = __try_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);
}
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 != 0) {
navigator = *__try_cast<__box 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);
}
};
[STAThread]
int main() {
Application::Run(new Form1());
}
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
See Also
Help Members | System.Windows.Forms Namespace | HelpNavigator | HelpProvider