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

visual studio 中,在属性栏中放置在winform的所有控件和组件都有一个新增加的属性GenerateMember ,默认为true,这是一个设计时的扩展属性,通过控制它的属性,你可以很方便的设置是让这些控件变量作为类的成员变量出现,还是作为InitializeComponent方法中的本地变量。即如果属性设为true,则你能在类的其他地方引用这个控件,否则,它将成为InitializeComponent方法的一个本地变量,你将在其他的方法中无法对这个控件进行直接引用控制

GenerateMember属性和Modifiers一同使用
Modifiers仅当GenerateMember属性设置为True时有效,其用来设置成员变量的可见级别
GenerateMember属性设置为False时,Modifiers属性设置无效

 
修改记录:
2017/07/12         第一次完成基本内容

C# CHM帮助文档的更多相关文章

  1. jQuery LigerUI 最新版压缩包(含chm帮助文档、源码、donet权限示例)

    jQuery LigerUI 最新版压缩包 http://download.csdn.net/download/heyin12345/4680593 jQuery LigerUI 最新版压缩包(含ch ...

  2. Ubuntu 14 如何打开 .chm格式文档?

    好多手册是.chm格式,Ubuntu是需要安装第三方软件才能打开.chm格式文档,操作方式如下: 到“软件中心” -> 搜索“xchm”,并安装 -> 右键某个.chm文档,选择“属性” ...

  3. .net应用程序中添加chm帮助文档打开显示此程序无法显示网页问题

    在做.net大作业时添加了chm帮助文档结果在打开时显示“此程序无法显示网页问题”,但是把帮助文档拷到别的路径下却显示正常, 经过从网上查找,终于找到了答案: (1).chm文件的路径中不能含有“#” ...

  4. chm帮助文档显示字体过小

    问题描述: 在查看chm帮助文档时,发现默认显示字体过小,阅读吃力 解决方案: 1. 点击选项按钮->Internet 选项 2. 点击辅助功能 3. 选中 忽略网页上指定的字号,点击确定 最后 ...

  5. 使用 Python 翻译 CHM 帮助文档

    此方法绝对切实可行 翻译成品项目: https://github.com/foyoux/InstallShield2020-Documents 效果预览 安装 docts 库 pip install ...

  6. 将C#文档注释生成.chm帮助文档

    由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...

  7. 工具分享——将C#文档注释生成.chm帮助文档

    由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...

  8. Javadoc转换chm帮助文档的四种方法总结

    1) 将现有的 html 文件集(比如 api) 制作成chm 文档 http://www.blogjava.net/lishunli/archive/2010/01/07/308618.html 我 ...

  9. chm开源文档制作

    作为开发人员,API文档是非常关键的^_^,但是很多时候官方提供的文档是html的docs,不方便于携带查询,本章主要介绍chm文档的制作方法. 使用jd2chm制作chm文档 安装之前必须先安装 h ...

随机推荐

  1. Object C学习笔记12-集合

    这里讲到的集合是指Set集合,其实Array也是一种类型的集合.在Object C中提供了两个集合类NSSet和NSMutableSet.其实NSSet和NSArray性质一样,都是用于存储对象的. ...

  2. 【Linux】LVM逻辑卷管理和RAID

    LVM概述: 是对磁盘分区进行管理的一种机制 是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不 够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现一种磁盘空 ...

  3. jQuery----JQuery动画(hide()和show())(下)

    本文是对hide()和show()的进一步补充,其中不仅介绍回调函数,还有递归的相关知识点. 案例要求: 点击”隐藏动画“按钮,四个头像从后向前,每个以0.8秒的速度消失 点击”显示动画“按钮,四个头 ...

  4. Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程

    Xilinx zynq-7000系列FPGA移植Linux操作系统详细教程 一:前言 最近手上压了一块米联客的Miz7035,一块xilinx zynq-7000系列的开发板,想着正好学习一下linu ...

  5. Python的scrapy之爬取6毛小说网的圣墟

    闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地 圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网  http://www.6ma ...

  6. Circuit Breaker模式

    Circuit Breaker模式会处理一些需要一定时间来重连远程服务和远端资源的错误.该模式可以提高一个应用的稳定性和弹性. 问题 在类似于云的分布式环境中,当一个应用需要执行一些访问远程资源或者是 ...

  7. Mac下 通过 VMware Fusion 配置 windows 虚拟机的详细步骤

    内容中包含 base64string 图片造成字符过多,拒绝显示

  8. 电子设备 Kindle如何删除书籍或漫画

    需要在亚马逊的官方设置好国家: 再在这里就可以管理了 要在kindle的上方小齿轮那里设置(飞行模式右边): 同步kindle 这样就能管理了

  9. 《javascript语言精粹》mindmap

    最近刚刚读完<javascript语言精粹>,感觉其中的内容确实给用js作开发语言的童鞋们提了个醒——js里面坑很多啊 不过,我也并不完全认同书中所讲的所有内容,有些书中认为是糟粕的特性, ...

  10. 如何为一个高负荷站点配置tomcat连接器(connector)【译文】(第一篇)

    引言 最近正好要用到这些内容,因此就找了一篇比较有分量的文章,思来想去,还是尝试写一下译文吧.其实LZ的英语是非常烂的(四级没过的LZ眼泪掉下来),因此这篇文章翻译的水平LZ自己也不敢恭维.各位猿友大 ...