zoukankan      html  css  js  c++  java
  • winform 添加帮助按钮

    1. 添加提示信息

    新建个窗体项目,项目名称为WinFormUI,解决方案名称为WinFormWithHelpDoc。删除默认创建的Form1,新建窗体MainForm,设置相关属性。我们要完成的效果是这样:

    我们可以看到不同于常看到的窗体,它没有最大化、最小化按钮,而是多了个帮助按钮,怎样做出这样的窗体呢?

    很简单,在窗体的属性中将HelpButton设置为true(这里说个小技巧,有选项的属性,双击属性名称即可改为下一个属性,而不用在后面选择),并且将MaximizeBox和MinimizeBox设置为false。

    下面,我们再添加一个Label名为lblMessageTip、一个TextBox名为txtMessage、一个HelpProvider名为hpMainForm(该控件可为窗体提供提示信息或联机帮助):

     

    双击窗体标题栏,在Load事件中写入Label和TextBox的提示信息:

    hpMainForm.SetHelpString(lblMessageTip,"Here is the message.");
    hpMainForm.SetHelpString(txtMessage,"Enter something here.");

    运行窗体,按下标题栏的帮助按钮,再点击两个控件,可以看到提示信息。

     

    2. 添加帮助文档

    先找个后缀是chm的帮助文档,我这里就用Python的参考文档代替了 :D,将它放在项目的binDebug下:

    在Load事件中加入两行代码:

    hpMainForm.HelpNamespace = Application.StartupPath +@"Python 语言参考手册Python Reference Manual.chm";
    hpMainForm.SetShowHelp(this,true);

    设置HelpProvider所对应的帮助文档,并设置在窗体中按下F1时打开帮助文档。

    再次运行,按下F1,我们看到帮助文档跳出来了 :D

    下面,再加入菜单栏,当单击帮助项时弹出帮助文档,添加菜单栏控件msMain:

     

     

    并在菜单栏的快捷任务中选择“插入标准项”,快速添加菜单:

    双击“帮助”下的“内容”,在其单击事件中写入如下代码:

    Process.Start(Application.StartupPath +@"Python 语言参考手册Python Reference Manual.chm");

    用进程启动帮助文档,再次运行,点击“内容”,同样打开了帮助文档。

    点击这里下载上面的示例,名称为WinFormWithHelpDoc,用VS2005创建。

     

     

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    1.添加帮助文档(就是那种按F1弹出来的CHM)

           (1) 准备一个chm文档

           (2) 在页面上添加一个HelpProvider 控件

           (3) formload中添加如下语句:

                HelpProvider1.HelpNamespace = Application.StartupPath + "FM20.CHM"

                 this.HelpProvider1.SetShowHelp(this, True)

            这样就OK了.

            还有一种办法是新起一个IEXPLORER的进程,打开CHM文件的. 可用于click了菜单中的项目,跳出chm文件

               Dim LINK As String = Application.StartupPath + "FM20.CHM"
                System.Diagnostics.Process.Start("IEXPLORE.exe", LINK)

     

    2.添加帮助按钮

             (1)还是需要HelpProvider控件,当然,和chm用到的合用一个.

             (2)给各个控件设置help的信息,就是点了"?"这个按钮以后,再点击控件时,就会显示出来的信息

                      this.HelpProvider1.SetHelpString(Me.TextBox1, "enter the text to change")

             (3)设置页面,使得它能够显示help按钮~ 这里有点奇怪的是,似乎只有当最大最小话按钮不显示的时候,才能显示help按钮,查看了一下windows也是如此,不知道有没有解决办法

                      this.HelpButton = True
                      this.MinimizeBox = False
                      this.MaximizeBox = False

     

    搞定!

    /*******************************************************************************************************************************************/

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            { }

            private void 帮助文档ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                try
                {//hhelpPwovider1为C#自带的控件。
                    this.helpProvider1.HelpNamespace = Application.StartupPath + @"你建立的帮助文档名称(注意应放在Debug下面).chm";
                    Help.ShowHelp(this, this.helpProvider1.HelpNamespace);
                }
                catch
                {
                    MessageBox.Show("系统没有找到相应的文件!");
                }
            }
        }
    }

  • 相关阅读:
    由于可能不会将凭据发送到远程计算机,因此将不会进行连接。若要获得协助,请与您的系统管理员联系。
    URL编码与解码
    linux服务器openjdk11环境easypoi导出excel报错(class sun.font.CompositeFont cannot be cast to class sun.font.PhysicalFont)
    解决Drools中文乱码
    CISSP-什么是安全冠军以及您为什么需要安全冠军
    windows环境中JDK环境变量配置
    【Django】定时任务
    【Django】权限之has_perm
    一些连接
    数据库
  • 原文地址:https://www.cnblogs.com/mlq2017/p/7768589.html
Copyright © 2011-2022 走看看