如何:显示用户帮助

更新:2007 年 11 月

.NET Compact Framework 提供对 Windows CE 帮助程序 peghelp.exe 的访问,以显示 Pocket PC 应用程序的帮助主题。您可以通过 Windows 窗体 Help 类的 ShowHelp 方法,显示帮助主题以响应 HelpRequested 事件并使用 HelpEventArgs。.NET Compact Framework 不支持 HelpNavigator 枚举或 HelpProvider 类。

帮助主题可位于一个或多个 .htm 文件中。Pocket PC 不支持编译的 HTML 文件或 .chm 文件。当用户定位到“开始”菜单并选择“帮助”时,当前活动窗体便会接收到 HelpRequested 事件。窗体内的控件不会引发该事件。

Smartphone 操作系统中并没有集成帮助,因为 Smartphone 应用程序应保持简单。

下表列出了为每个主题显示的系统帮助功能。

菜单项

功能

视图

提供对“目录”命令和“所有已安装的帮助”命令的访问,前者显示当前帮助文件的第一级目录,后者显示所有已安装的帮助文件的列表。

后退

显示当前会话中以前查看过的主题。

前进

显示历史记录列表中的下一个主题。

查找

打开“查找”对话框,按关键字搜索帮助主题。您可以在 .htm 文件中指定关键字。

下面的过程演示了如何执行以下操作:

  • 创建 .htm 帮助主题文件

  • 显示应用程序帮助

  • 在设备上安装帮助文件

创建 .htm 帮助主题文件

  1. 创建一个针对帮助命名的文本文件,扩展名为 .htm。此过程以创建 Critters 游戏帮助为例。该文件必须在标题中包含 META 标记,如下所示:

    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Htm-Help" Content="Critters.htm#main_contents">
    

    在每个帮助文件中,第一个主题必须命名为“main_contents”。

  2. 为“查找”程序添加关键字。多个关键字之间用分号分隔。根据需要,添加附加关键字标记以链接到特定主题。

    <KEYWORD VALUE="Critters;Games" TITLE="Critters Help" 
      HREF="Critters.htm#main_contents">
    <KEYWORD VALUE="Critters overview" TITLE="Critters Help" 
      HREF="Critters.htm#overview">
    <KEYWORD VALUE="Critters options" TITLE="Critters Help" 
      HREF="Critters.htm#options">
    

    主题没有最大关键字限制。

  3. 创建 main_contents 主题。所有主题(包括 main_contents)的前面必须带有以下注释标记:

    <!-- PegHelp -->
    

    main_contents 主题通常包含子主题的链接。注意,除定位点名称外,链接还需要文件名。

    </head>
    <body>
    <!-- PegHelp -->
    <a name="Main_Contents"></a>
    <b>Critters Help</b>
    </p>
    <a href="critters.htm#overview">Game Overview</a><br>
    <a href="critters.htm#options">Options</a><br>
    

    您可以添加图形,但仅限位图,且位图扩展名必须重命名为“2pb”。

    <img src="critter.2bp">
    
  4. 创建其他主题。

    下面是两个主题之间的 HTML 的示例:

    </p>
    <!-- PegHelp -->
    <!-- ******* TOPIC BREAK ******* -->
    <hr>
    <a name="overview">
    
  5. 保存该文件并将其复制到 Pocket PC 的 Windows 目录中。

此示例的完整 HTML 如下:

<html>
<head>
<META HTTP-EQUIV="Htm-Help" Content="critters.htm#Main_Contents">
<KEYWORD VALUE="Critters;Games" TITLE="Critters Help" 
  HREF="Critters.htm#main_contents">
<KEYWORD VALUE="Critters overview" TITLE="Critters Help" 
  HREF="Critters.htm#overview">
<KEYWORD VALUE="Critters options" TITLE="Critters Help" 
  HREF="Critters.htm#options">
</head>
<body>
<!-- PegHelp -->
<p>
<a name="Main_Contents"></a>
</p>
<b>Critters Help</b>
</p>
<p>
<a href="critters.htm#overview">Game Overview</a><br>
<a href="critters.htm#options">Game Options</a><br>
<img src="critter.2bp">
</p>
<!-- PegHelp -->
<!-- ******* TOPIC BREAK ******* -->
<hr>
<a name="overview"></a>
<p><b>Game Overview</b></p>
<p>Critters are small round creatures that you can adopt and raise.  
  They have various moods and characteristics and each one has its own 
  personality and appearance that will change over time.</p>
<!-- PegHelp -->
<!-- ******* TOPIC BREAK ******* -->
<hr>
<a name="options"></a>
<p><b>Options</b></p>
<ul>
<li><i>Sound</i> – Turn sound on / off</li>
<li><i>Sub-Games</i> – Turn sub-games on / off.  When a caretaker 
  attempts to play with a critter or teach a critter, sub-games are 
  presented such as ‘Guess my number’ and ‘Trivia’ if this option is 
  checked.</li>
<li><i>Animation</i> – Turn animation on / off.  Turning this off will 
  cause the critter to remain still.</li>
<li><i>Notifications</i> – Choose icon / text / none.  Notifications 
  appear to inform you when your critter is in danger of dying due to 
  a particular need not being met.</li>
<li><i>Speed</i> – This is the rate at which the game engine operates.
  It affects how fast feelings develop and statistics are 
  modified.</li>
</ul>
</p>
</body>
</html>
说明:

使用帮助文件时,缓存中的早期版本的帮助可能会妨碍您查看最新的更新。若要刷新,请显示正在处理的帮助主题之外的帮助主题,然后再次显示帮助。

显示应用程序帮助

  • 若要在 Pocket PC 上显示帮助,请点击“开始”菜单上的“帮助”命令。如果您调用 ShowHelp 方法以响应 HelpRequested 事件,Windows CE 将会显示当前显示的应用程序的帮助主题。

    此外,也可以使用 ShowHelp 从应用程序内调用帮助,例如,通过单击按钮。下面的代码示例演示了如何在这两种情况下调用帮助。请注意,ShowHelp 方法的第一个参数为父控件。此参数与 Pocket PC 无关,而是为实现与整个 .NET Framework 兼容而提供的。

    Protected Overrides Sub OnHelpRequested(ByVal hlpevent As HelpEventArgs) 
        ' The HelpRequested event occurs when
        ' the user taps Help on the Start menu.
        Help.ShowHelp(Me, "\windows\myAppHelp.htm#Main_Contents")
        MyBase.OnHelpRequested(hlpevent)
    
    End Sub
    Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles button1.Click
        ' You can also show Help
        ' for a subtopic
        ' by clicking a button.
        Try
            Help.ShowHelp(Me, "\windows\myappHelp.htm#overview")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    protected override void OnHelpRequested(HelpEventArgs hlpevent)
    {
        // The HelpRequested event occurs when
        // the user taps Help on the Start menu.
        Help.ShowHelp(this,@"\windows\myAppHelp.htm#Main_Contents");
        base.OnHelpRequested(hlpevent);
    }
    
    private void button1_Click(object sender, System.EventArgs e)
    {
        // You can also show Help
        // for a subtopic
        // by clicking a button.
        try
        {
            Help.ShowHelp(this,@"\windows\myappHelp.htm#overview");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

在设备上安装帮助文件

  1. 为帮助系统创建一个快捷文件,以列出您的帮助以及系统中安装的其他帮助。在文本编辑器内,使用下面的语法创建一个包含帮助路径的文件:

    14#\windows\critters.htm
    

    该路径前面为路径中的字符数和编号符号 (#)。该路径在文件中应为单独的一行。在此示例中,显示了 Critters 游戏的帮助路径。

  2. 使用与帮助同名但扩展名为 .lnk 的名称,将文件保存在 \Windows\Help 文件夹中。

  3. 在“开始”菜单中点击“帮助”。如果帮助尚未显示,请从“视图”菜单中选择“所有已安装的帮助”。您的帮助应按字母顺序包含在列表中。

请参见

概念

.NET Compact Framework 帮助主题

其他资源

.NET Compact Framework 中的 Windows 窗体控件