将“帮助”集成到 WinForms 应用程序中

Posted

技术标签:

【中文标题】将“帮助”集成到 WinForms 应用程序中【英文标题】:Integrating "Help" into WinForms Application 【发布时间】:2011-03-10 16:33:23 【问题描述】:

我正在开发一个 Visual Studio,我们需要将帮助菜单集成到其中。我想以规范的 Windows 方式执行此操作,但在这些方面对 .NET 框架不是很有经验。搜索 Google 和 SO 的结果并不多,因为大多数结果都是人们寻求帮助,而不是“帮助”。元帮助,如果你愿意的话。

根据我所做的研究,.chm 文件似乎是要走的路。这些文件是如何生成的? VS中有集成工具吗?

获得文件后,如何从中获取数据?我只想在单独的进程中启动它们吗?显示一个额外的表单并将帮助文件加载到其中?

此外,我在哪里存储它们?以及如何告诉我的应用程序查看那里?我发现this question 涉及多个语言环境,这在以后会很有用,但感觉还是有很长的路要走。

【问题讨论】:

【参考方案1】:

您正在寻找一种叫做帮助提供者的东西。它是一个表单组件。它允许您响应对表单或表单控件的 F1 调用,并将其映射到帮助文件中的某个部分。

http://msdn.microsoft.com/en-us/library/system.windows.forms.helpprovider.aspx

http://www.dotnetspider.com/resources/24241-F-Help-Provider.aspx

http://netpl.blogspot.com/2007/07/context-help-made-easy-revisited.html

可以使用许多免费工具制作 CHM 文件。谷歌“免费 CHM 编辑器”或类似的东西。 VS 默认没有集成任何东西。

您无法从中获取数据。发生的情况是,当您将控件连接到帮助提供者时,您提供了 CHM 中相关部分的路径。然后它将加载 CHM 查看器并显示相关部分。

【讨论】:

Sandcastle helpfile Builder 就是这样一款免费工具,可让您构建 CHM 文件。

以上是关于将“帮助”集成到 WinForms 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

多线程帮助,再次(winForms)

可以将 WinForms 嵌入到 VCL Delphi 应用程序中吗?

将 WinForms 应用程序移植到 Mac OS

如何使用 CEF WinForms 以编程方式将文件附件添加到网页

WinForms 互操作,从 WinForms 拖放 -> WPF

如何将 lync 与 Windows 窗体应用程序集成