单击按钮以在VB.NET中显示.CHM帮助文件

时间:2011-07-12 08:29:05

标签: vb.net chm helpfile

我希望在单击VB.NET中的按钮时显示.CHM帮助文件。谁能告诉我代码怎么做?

Private Sub cmdHelp_Click(ByVal sender As System.Objects, Byval e As System.EventArgs)Handles cmdHelp.Click
   'Please help provide some code
End Sub

4 个答案:

答案 0 :(得分:8)

.NET API在Help命名空间中提供System.Windows.Forms类。一些例子:

Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.TableofContents, Nothing)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Index, Nothing)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Topic, "Page.html")
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.TopicId, 123)
Help.ShowHelp(ParentForm, "HelpFile.chm", HelpNavigator.Keyword, "Keyword")

答案 1 :(得分:4)

使用动词open执行Process.Start可以解决问题:

Module Module1

    Sub Main()
        Dim p As New Process()
        Dim psi As New ProcessStartInfo("path to my CHM file")
        psi.Verb = "open"
        p.StartInfo = psi
        p.Start()

        Console.ReadKey()
    End Sub

End Module

请注意,.chm文件受到操作系统的严格限制,从WinXP SP3(SP2?)开始 - 它们被认为是一个合理的安全风险,因此您无法直接从网络或远程打开它们地点。您需要相应地编码,并在尝试打开它们时期望例外。

答案 2 :(得分:1)

on Button click事件编写此代码

Dim RetVal
RetVal = Shell("hh.exe " & App.HelpFile, vbNormalFocus)

其中hh.exe是任何名称App.Helpfile是你的chm文件名

答案 3 :(得分:0)

您还可以使用HH.EXE显示指定的主题。

在示例代码中 将[topicid]替换为真实的主题ID 并将[yourhelpfile.chm]替换为您的.chm文件的完整路径和名称

如果需要返回值

Dim RetVal As Integer = Shell("HH.EXE -mapid [topicid] ms-its:[yourhelpfile.chm]", AppWinStyle.NormalFocus)

否则就是这个

Shell("HH.EXE -mapid [topicid] ms-its:[yourhelpfile.chm]", AppWinStyle.NormalFocus)