我有一个CHM文件和一个帮助菜单,我想将该文件添加到资源,但是当我将它添加到资源时,它不起作用。 我试图在参考资料中添加到子文件夹,但仍然没有使用
void HelpToolStripMenuItemClick(object sender, EventArgs e)
{
string filePath = Directory.GetCurrentDirectory() + "\\Help\\abc.chm";
try
{
//Check if already exists before making
if (!File.Exists(filePath))
{
var data = Properties.Resources.abc.chm;
using (var stream = new FileStream("abc.chm", FileMode.Create))
{
stream.Write(data, 0, data.Count());
stream.Flush();
}
MessageBox.Show("file made");
}
}
catch
{
//May already be opened
}
Help.ShowHelp(this, filePath);
}
即使在安装设置时,我也想工作 在任何计算机上
如果有人告诉我如何嵌入我的设置
,我会更好答案 0 :(得分:1)
首先,将帮助文件添加到项目中,然后打开该文件的“属性”窗口。在CopyToOutputDirectory中,选择“始终复制”或“如果更新则复制”。
这将确保在您调试/测试应用程序时,它会将文件复制到bin文件夹。
以Debug
模式启动项目并检查bin / debug输出文件夹。对Release
模式和输出文件夹执行相同操作。 CHM应驻留在那里并包含在您的部署中。
用于调用CHM的示例代码段:
private const string sHTMLHelpFileName = "CHM-example.chm";
...
private void button1_Click(object sender, EventArgs e) {
System.Windows.Forms.Help.ShowHelp(this, Application.StartupPath + @"\" + sHTMLHelpFileName);
}
为了下载,我提供了一个C#VS2008 Project,包括上面的代码和带有不同帮助查看器窗口的帮助文件(仅用于展示案例的不同CHM文件)。