显示 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);