用System.Windows.Forms.Help类吧。 无法创建 Help 类的新实例。若要为应用程序提供“帮助”,请调用静态 ShowHelp 和 ShowHelpIndex 方法。可以使用 Help 以 HTML 帮助的格式显示已编译的帮助文件 (.chm) 或 HTML 文件。已编译的帮助文件在页中提供目录、索引、搜索和关键字链接。快捷方式仅适用于已编译的帮助文件。可以使用 HTML 帮助 Workshop 生成 HTML 帮助 1.x 文件。有关 HTML 帮助的更多信息,请参见 http://www.microsoft.com/china/msdn 上的 "HTML Help Workshop" 和其他 HTML 帮助主题。
下面的代码示例显示带有三个按钮的窗体,这些按钮可用于与 mspaint.chm 帮助文件进行交互。“显示帮助索引”按钮显示帮助文件的“索引”选项卡。“显示帮助”按钮根据“帮助导航器”列表中选择的值显示帮助文件的内容。“显示关键字”按钮根据“关键字”文本框中指定的关键字显示帮助文件的内容。例如,若要按索引值显示 Ovals 帮助页,请在“帮助导航器”下拉列表中选择 HelpNavigator..::.KeywordIndex 值,在“参数”文本框中键入 ovals,然后单击“显示帮助”按钮。若要按关键字显示“使用画笔绘图”帮助主题,请在“关键字”文本框中键入 mspaint.chm::/paint_brush.htm,然后单击“显示关键字”按钮。该示例使用 ShowHelp 方法显示不同的“帮助”选项卡和“帮助”主题,并用 ShowHelpIndex 方法显示“帮助”索引。 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); } }
然后直接System.Diagnostics.Process.Start(application.StartupPath+"wode方案.chm");就行
= =不知道有没有拼写错如果是要制定跳转到某夜那就麻烦些了
一般只要打开文件就行了吧?
还有F1快捷键怎么设?点F1的时候直接出现了C#的联机帮助
{
if (e.KeyCode == Keys.F1)
{
System.Diagnostics.Process.Start(application.StartupPath+"wode方案.chm"); }
} private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true; this.KeyUp += new KeyEventHandler(Form1_KeyUp);
}
private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(Application.StartupPath+"方案文件.chm");
}找不到指定文档?
Application.StartupPath是你程序启动目录 具体你可以自己设置
另外- -这个时候加个容错吧,如果找不到该文件就跳过
try{}catch{} 或者if(File.Exists(文件))
System.Diagnostics.Process.Start("F:/我的项目/HTML"+"方案文件.chm");是不是这样?
只是这个要自己写代码
ShowHelp(Control, String)
方法4重载
无法创建 Help 类的新实例。若要为应用程序提供“帮助”,请调用静态 ShowHelp 和 ShowHelpIndex 方法。可以使用 Help 以 HTML 帮助的格式显示已编译的帮助文件 (.chm) 或 HTML 文件。已编译的帮助文件在页中提供目录、索引、搜索和关键字链接。快捷方式仅适用于已编译的帮助文件。可以使用 HTML 帮助 Workshop 生成 HTML 帮助 1.x 文件。有关 HTML 帮助的更多信息,请参见 http://www.microsoft.com/china/msdn 上的 "HTML Help Workshop" 和其他 HTML 帮助主题。
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);
}
}