WPF中帮助菜单如何实现 帮助菜单中有帮助文档选项,点击会打开帮助文档。
答案:1 悬赏:50 手机版
解决时间 2021-02-06 09:43
- 提问者网友:人傍凄凉立暮秋
- 2021-02-06 03:42
WPF中帮助菜单如何实现 帮助菜单中有帮助文档选项,点击会打开帮助文档。
最佳答案
- 五星知识达人网友:玩世
- 2021-02-06 03:58
纯WPF的还真不知道。
如果借用WinForm倒是有个效果还成的办法:
先添加对Winform的项目引用,然后
using WinForm = System.Windows.Forms;
接下来编写类似下面的方法,返回值啥的可自行修改:
public static string ShowHelpPage(string helpPageID)
{
if (helpPageID == null || helpPageID.Length <= 0) return " 需要提供打算显示的帮助文档页面的ID。";
string helpFilePath = Globals.InstalledPath;
if (helpFilePath.EndsWith("\\") == false)
{
helpFilePath += "\\";
}
helpFilePath += "Help\\help.chm";
if (System.IO.File.Exists(helpFilePath) == false)
{
return " 未找到帮助文档,无法继续!";
}
string htmlString = helpPageID + ".htm";//这是chm文件中某个页面的ID。
try
{
if (htmlString != "")
{
WinForm.Help.ShowHelp(null, helpFilePath,
WinForm.HelpNavigator.Topic, htmlString);
}
else
{
WinForm.Help.ShowHelp(null, helpFilePath);
}
return string.Empty;
}
catch (Exception ex)
{
return " 发生意外错误,不能顺利打开帮助文档!\r\n" +
"异常信息如下:\r\n" + ex.Message + "\r\n" + ex.StackTrace;
}
}
==================================
如果不需要指定到页面,那就更简单了:
public static string ShowHelp()
{
string helpFilePath = Globals.InstalledPath;
if (helpFilePath.EndsWith("\\") == false)
{
helpFilePath += "\\";
}
helpFilePath += "Help\\help.chm";
if (System.IO.File.Exists(helpFilePath) == false) return " 未找到帮助文档,无法继续!";
try
{
WinForm.Help.ShowHelp(null, helpFilePath);
return string.Empty;
}
catch (Exception ex)
{
return " 发生意外错误,不能顺利打开帮助文档!\r\n " +
"异常信息如下:\r\n " + ex.Message + "\r\n " + ex.StackTrace;
}
}
如果借用WinForm倒是有个效果还成的办法:
先添加对Winform的项目引用,然后
using WinForm = System.Windows.Forms;
接下来编写类似下面的方法,返回值啥的可自行修改:
public static string ShowHelpPage(string helpPageID)
{
if (helpPageID == null || helpPageID.Length <= 0) return " 需要提供打算显示的帮助文档页面的ID。";
string helpFilePath = Globals.InstalledPath;
if (helpFilePath.EndsWith("\\") == false)
{
helpFilePath += "\\";
}
helpFilePath += "Help\\help.chm";
if (System.IO.File.Exists(helpFilePath) == false)
{
return " 未找到帮助文档,无法继续!";
}
string htmlString = helpPageID + ".htm";//这是chm文件中某个页面的ID。
try
{
if (htmlString != "")
{
WinForm.Help.ShowHelp(null, helpFilePath,
WinForm.HelpNavigator.Topic, htmlString);
}
else
{
WinForm.Help.ShowHelp(null, helpFilePath);
}
return string.Empty;
}
catch (Exception ex)
{
return " 发生意外错误,不能顺利打开帮助文档!\r\n" +
"异常信息如下:\r\n" + ex.Message + "\r\n" + ex.StackTrace;
}
}
==================================
如果不需要指定到页面,那就更简单了:
public static string ShowHelp()
{
string helpFilePath = Globals.InstalledPath;
if (helpFilePath.EndsWith("\\") == false)
{
helpFilePath += "\\";
}
helpFilePath += "Help\\help.chm";
if (System.IO.File.Exists(helpFilePath) == false) return " 未找到帮助文档,无法继续!";
try
{
WinForm.Help.ShowHelp(null, helpFilePath);
return string.Empty;
}
catch (Exception ex)
{
return " 发生意外错误,不能顺利打开帮助文档!\r\n " +
"异常信息如下:\r\n " + ex.Message + "\r\n " + ex.StackTrace;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯