C# CHM帮助文档
1.生成chm文件
首先,下载EasyCHM软件,此软件可将HTML文件、TXT文件、图片和文件夹按照文件层次生成.chm文件。EasyCHM打开界面如图所示:

点击“新建”,选择需要生成.chm文件的文件夹,并选择文件类型为*.*,如图所示:

点击搜素选项(M)——TOP图标设置——用户自定义——自定义大标题、小标题图标——点击确定,如图所示:

导入文件后, 如图所示:


点击“编译”,设置CHM相关选项,如图所示:


点击“生成CHM”,生成CHM文件,如图所示:

2.程序添加HelpProvider控件
在程序设计器界面拖一个HelpProvider控件,将GenerateMember属性设置为True,保证程序中可以使用HelpProvider控件的对象;不要右击设置HelpNamespace属性,因为这样简单测试可以,但是帮助文档的路径会被限制,不利于程序的在其他机器上部署,因为会导致路径不匹配, 把帮助文档的路径设置放到程序中去,并采用相对路径。
按F1显示帮助文档的代码如下所示,将代码放到窗体的Load()函数中:
// 按F1显示CHM帮助文档
private void Form1_Load(object sender, EventArgs e)
{
helpProvider1.HelpNamespace = AppDomain.CurrentDomain.BaseDirectory.ToString() + "帮助文档.chm";
helpProvider1.SetShowHelp(this, true); }
按钮点击事件控制帮助文档显示的代码如下所示:
// 点击按钮,显示帮助文档
private void ToolStripMenuItem_s_Click(object sender, EventArgs e)
{
Process.Start(AppDomain.CurrentDomain.BaseDirectory.ToString() + "帮助文档.chm");
}
最终效果如下所示:

winform获取文件路径
string str1 =Process.GetCurrentProcess().MainModule.FileName;//获得当前执行的exe的文件名。
string str2=Environment.CurrentDirectory;//获取和设置当前目录的完全限定路径。
string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。
string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。
“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”;
“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称;
“AppDomain.CurrentDomain.BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”;
“System.Threading.Thread.GetDomain().BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”;
“Environment.CurrentDirectory”:获取当前应用程序的路径,最后不包含“\”;
“System.IO.Directory.GetCurrentDirectory”:获取当前应用程序的路径,最后不包含“\”;
String[] files = System.IO.Directory.GetFiles(path) //返回指定目录下的文件名
string str = System.IO.Path.GetFileNameWithoutExtension(path);//返回不具有扩展名的指定路径字符串的文件名
1、取得控制台应用程序的根目录方法
方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
2、取得Web应用程序的根目录方法
方法1、HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径
方法3、Request.ApplicationPath;//获取服务器上ASP.NET应用程序的虚拟应用程序根目录
3、取得WinForm应用程序的根目录方法
1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
其中:以下两个方法可以获取执行文件名称
1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
3、System.IO.Path类中有一些获取路径的方法,可以在控制台程序或者WinForm中根据相对路径来获取绝对路径
获取web物理路径的方法是Server.MpaPath("~")
C# GenerateMember
GenerateMember属性和Modifiers一同使用
Modifiers仅当GenerateMember属性设置为True时有效,其用来设置成员变量的可见级别
GenerateMember属性设置为False时,Modifiers属性设置无效
C# CHM帮助文档的更多相关文章
- jQuery LigerUI 最新版压缩包(含chm帮助文档、源码、donet权限示例)
		
jQuery LigerUI 最新版压缩包 http://download.csdn.net/download/heyin12345/4680593 jQuery LigerUI 最新版压缩包(含ch ...
 - Ubuntu 14 如何打开 .chm格式文档?
		
好多手册是.chm格式,Ubuntu是需要安装第三方软件才能打开.chm格式文档,操作方式如下: 到“软件中心” -> 搜索“xchm”,并安装 -> 右键某个.chm文档,选择“属性” ...
 - .net应用程序中添加chm帮助文档打开显示此程序无法显示网页问题
		
在做.net大作业时添加了chm帮助文档结果在打开时显示“此程序无法显示网页问题”,但是把帮助文档拷到别的路径下却显示正常, 经过从网上查找,终于找到了答案: (1).chm文件的路径中不能含有“#” ...
 - chm帮助文档显示字体过小
		
问题描述: 在查看chm帮助文档时,发现默认显示字体过小,阅读吃力 解决方案: 1. 点击选项按钮->Internet 选项 2. 点击辅助功能 3. 选中 忽略网页上指定的字号,点击确定 最后 ...
 - 使用 Python 翻译 CHM 帮助文档
		
此方法绝对切实可行 翻译成品项目: https://github.com/foyoux/InstallShield2020-Documents 效果预览 安装 docts 库 pip install ...
 - 将C#文档注释生成.chm帮助文档
		
由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...
 - 工具分享——将C#文档注释生成.chm帮助文档
		
由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...
 - Javadoc转换chm帮助文档的四种方法总结
		
1) 将现有的 html 文件集(比如 api) 制作成chm 文档 http://www.blogjava.net/lishunli/archive/2010/01/07/308618.html 我 ...
 - chm开源文档制作
		
作为开发人员,API文档是非常关键的^_^,但是很多时候官方提供的文档是html的docs,不方便于携带查询,本章主要介绍chm文档的制作方法. 使用jd2chm制作chm文档 安装之前必须先安装 h ...
 
随机推荐
- 历年至今TVB剧集目录(持续更新...我已看过的推荐)
			
2019年度TVB剧集 <> 主演: <> 主演: 2018年度TVB剧集 <大帅哥> 主演:张卫健,蔡思贝,洪永城,曹永廉 <守护神之保险调查> 主演 ...
 - hive介绍、安装配置、表操作基础知识适合小白学习
			
1.hive概述 Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集.可以将结构投影到已存储的数据中.提供了命令行工具和JDBC驱动以将用户连接到Hive ...
 - webdriver 获取页面response
			
在selenium webdriver实现自动化抓取数据过程中,发现无法从webdriver获取页面response 查来查去最终在 stackoverflow 上找到了这一篇文章 文章中说:webd ...
 - scala 读取文件加下的指定文件
			
1,获取指定类型文件 def getFile(file:File): Array[File] ={ val files = file.listFiles().filter(! _.isDirector ...
 - Linux 定时清除日志 Log
			
一.原因 写这篇的原因是项目中log没有定时清除,服务器上项目是用脚本启动,log文件只会在启动时生成一次,这时,由于项目在不断运行中,导致log越来越大.如果删除log文件,还得把项目停掉在启动,这 ...
 - Detect Changes in Network Connectivity
			
Some times you will need a mechanism to check whether changes to network occurring during running yo ...
 - Mac下 Windows 7 虚拟机搭建SVN服务器的详细步骤(此方法同样适用于单纯的Windows系统搭建SVN)
			
内容中包含 base64string 图片造成字符过多,拒绝显示
 - vivado与modelsim的联合仿真
			
转载: 一.在vivado中设置modelsim(即第三方仿真工具)的安装路径.在vivado菜单中选择“Tools”——>“Options...”,选择“General”选项卡,将滚动条拉倒最 ...
 - Java并发工具类(四):线程间交换数据的Exchanger
			
简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法 ...
 - c# url链接转成二维码图片,再转成byte[]二进制流,输出到前段ajax
			
需要用到的 dll 添加引用 代码: //获取配置文件设置的url string urllink = ConfigurationManager.AppSettings["urllink&qu ...