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,將它放在項目的bin\Debug下:

在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("系統沒有找到相應的文件!");
            }
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM