• 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

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

    GenerateMember属性和Modifiers一同使用
    Modifiers仅当GenerateMember属性设置为True时有效,其用来设置成员变量的可见级别
    GenerateMember属性设置为False时,Modifiers属性设置无效
     
    修改记录:
    2017/07/12         第一次完成基本内容
  • 相关阅读:
    JVM笔记3-java内存区域之运行时常量池
    JVM笔记2-Java虚拟机内存管理简介
    JVM笔记1-内存溢出分析问题与解决
    ActiveMq笔记1-消息可靠性理论
    python基础学习16----模块
    python基础学习15----异常处理
    在windows下搭建汇编编程环境
    python基础学习14----正则表达式
    python基础学习13----生成器&迭代器
    python基础学习12----装饰器
  • 原文地址:https://www.cnblogs.com/bdqczhl/p/7147804.html
Copyright © 2020-2023  润新知