顯示 MessageBox 的幫助

你可以通過不同方式為訊息框提供幫助。你可以配置 MessageBox 以顯示 Help 按鈕。你還可以通過以下方式配置 MessageBox:當使用者通過單擊幫助按鈕或按下時請求幫助時 F1,它會顯示 CHM 檔案或導航到 URL 或執行自定義操作。以下是本主題中的一些示例。

在以下所有示例中,MessageBox 將如下所示:

StackOverflow 文件

顯示 CHM 檔案並導航到關鍵字(索引)

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm", HelpNavigator.KeywordIndex, "SomeKeyword");

顯示 CHM 檔案並導航到主題

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm", HelpNavigator.Topic, "/SomePath/SomePage.html");

顯示 CHM 檔案並在目錄中導航第一個幫助頁面

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "help.chm");

開啟預設瀏覽器並導航到 URL

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0,
    "http://example.com");

幫助按鈕或 F1 鍵時執行自定義操作

在這種情況下,你應該處理 MessageBox 的父級的 HelpRequested 事件並執行自定義操作:

private void Form1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    // Perform custom action, for example show a custom help form
    var f = new Form();  
    f.ShowDialog();
}

然後,你可以使用幫助按鈕顯示 MessageBox

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0, true);

或顯示沒有幫助按鈕:

MessageBox.Show("Some Message", "Title", MessageBoxButtons.YesNoCancel,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, 0, false);