Help 类
封装 HTML 帮助 1.0 引擎。
**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)
语法
声明
Public Class Help
用法
Dim instance As Help
public class Help
public ref class Help
public class Help
public class Help
备注
无法创建 Help 类的新实例。若要为应用程序提供“帮助”,请调用静态 ShowHelp 和 ShowHelpIndex 方法。
可以使用 Help 以 HTML 帮助的格式显示已编译的帮助文件 (.chm) 或 HTML 文件。已编译的帮助文件可在页中提供目录表、索引、搜索和关键字链接。快捷方式仅适用于已编译的帮助文件。
可以使用 HTML 帮助 Workshop 生成 HTML 帮助 1.x 文件。有关 HTML 帮助的更多信息,请参见 https://www.microsoft.com/china/msdn 上的 "HTML Help Workshop" 和其他 HTML 帮助主题。
示例
下面的代码示例显示带有三个按钮的窗体,这些按钮可用于与 mspaint.chm 帮助文件进行交互。“显示帮助索引”按钮显示帮助文件的“索引”选项卡。“显示帮助”按钮根据“帮助导航器”列表中选择的值显示帮助文件的内容。“显示关键字”按钮根据“关键字”文本框中指定的关键字显示帮助文件的内容。
例如,若要按索引值显示 Ovals 帮助页,请在“帮助导航器”下拉列表中选择 HelpNavigator.KeywordIndex 值,在“参数”文本框中键入 ovals,然后单击“显示帮助”按钮。若要按关键字显示“使用画笔绘图”帮助主题,请在“关键字”文本框中键入 mspaint.chm::/paint_brush.htm,然后单击“显示关键字”按钮。
该示例使用 ShowHelp 方法显示不同的“帮助”选项卡和“帮助”主题,并用 ShowHelpIndex 方法显示“帮助”索引。
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
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);
}
}
#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 );
}
import System.*;
import System.Drawing.*;
import System.ComponentModel.*;
import System.Windows.Forms.*;
import System.Collection.*;
import System.Collections.*;
public class Form1 extends System.Windows.Forms.Form
{
private 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;
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
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.set_Location(new System.Drawing.Point(112, 64));
this.label1.set_Size(new System.Drawing.Size(168, 16));
this.label1.set_Text("Help Navigator:");
// Keyword Label
this.label2.set_Location(new System.Drawing.Point(120, 184));
this.label2.set_Size(new System.Drawing.Size(100, 16));
this.label2.set_Text("Keyword:");
// Parameter Label
this.label3.set_Location(new System.Drawing.Point(112, 120));
this.label3.set_Size(new System.Drawing.Size(168, 16));
this.label3.set_Text("Parameter:");
// Show Index Button
this.showIndex.set_Location(new System.Drawing.Point(16, 16));
this.showIndex.set_Size(new System.Drawing.Size(264, 32));
this.showIndex.set_TabIndex(0);
this.showIndex.set_Text("Show Help Index");
this.showIndex.add_Click(new System.EventHandler(
this.showIndex_Click));
// Show Help Button
this.showHelp.set_Location(new System.Drawing.Point(16, 80));
this.showHelp.set_Size(new System.Drawing.Size(80, 80));
this.showHelp.set_TabIndex(1);
this.showHelp.set_Text("Show Help");
this.showHelp.add_Click(new System.EventHandler(this.showHelp_Click));
// Show Keyword Button
this.showKeyword.set_Location(new System.Drawing.Point(16, 192));
this.showKeyword.set_Size(new System.Drawing.Size(88, 32));
this.showKeyword.set_TabIndex(4);
this.showKeyword.set_Text("Show Keyword");
this.showKeyword.add_Click(new System.EventHandler(
this.showKeyword_Click));
// Help Navigator ComboBox
this.navigatorCombo.set_DropDownStyle(
System.Windows.Forms.ComboBoxStyle.DropDownList);
this.navigatorCombo.set_Location(new System.Drawing.Point(112, 80));
this.navigatorCombo.set_Size(new System.Drawing.Size(168, 21));
this.navigatorCombo.set_TabIndex(2);
// Keyword TextBox
this.keyword.set_Location(new System.Drawing.Point(120, 200));
this.keyword.set_Size(new System.Drawing.Size(160, 20));
this.keyword.set_TabIndex(5);
this.keyword.set_Text("");
// Parameter TextBox
this.parameterTextBox.set_Location(new System.Drawing.Point(112, 136));
this.parameterTextBox.set_Size(new System.Drawing.Size(168, 20));
this.parameterTextBox.set_TabIndex(8);
this.parameterTextBox.set_Text("");
// Set up how the form should be displayed and add the controls
// to the form.
this.set_ClientSize(new System.Drawing.Size(292, 266));
this.get_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.set_FormBorderStyle(
System.Windows.Forms.FormBorderStyle.FixedDialog);
this.set_Text("Help App");
// Load the various values of the HelpNavigator enumeration
// into the combo box.
TypeConverter converter;
converter = TypeDescriptor.GetConverter(HelpNavigator.class.ToType());
IEnumerator myEnum = converter.GetStandardValues().GetEnumerator();
while (myEnum.MoveNext()) {
Object value = myEnum.get_Current();
navigatorCombo.get_Items().Add(value);
}
} //Form1
private void showIndex_Click(Object sender, System.EventArgs e)
{
// Display the index for the help file.
Help.ShowHelpIndex(this, helpfile);
} //showIndex_Click
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.get_SelectedItem() != null) {
navigator = (HelpNavigator) navigatorCombo.get_SelectedItem();
}
Help.ShowHelp(this, helpfile, navigator, parameterTextBox.get_Text());
} //showHelp_Click
private void showKeyword_Click(Object sender, System.EventArgs e)
{
// Display help using the provided keyword.
Help.ShowHelp(this, helpfile, keyword.get_Text());
} //showKeyword_Click
} //Form1
继承层次结构
System.Object
System.Windows.Forms.Help
线程安全
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台
Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0
请参见
参考
Help 成员
System.Windows.Forms 命名空间
HelpNavigator
HelpProvider