处理 HelpConquested 控件和表单事件

当用户按下 F1 控件或单击窗体( ? )的“ 帮助”按钮,然后单击控件时,将引发 HelpRequested 事件。

当用户请求控件或表单的帮助时,你可以处理此事件以提供自定义操作。

所述 HelpRequested 支持冒泡机制。它会激活你的主动控件,如果你不处理该事件并且未将其事件 arg 的 Handled 属性设置为 true,则它会冒泡到父控件层次结构中。

例如,如果你处理如下表格的 HelpRequested 事件,那么当你按下 F1 一个消息框时会弹出并显示活动控件的名称,但对于 textBox1,它将显示不同的消息:

private void Form1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    var c = this.ActiveControl;
    if(c!=null)
        MessageBox.Show(c.Name);
}
private void textBox1_HelpRequested(object sender, HelpEventArgs hlpevent)
{
    hlpevent.Handled = true;
    MessageBox.Show("Help request handled and will not bubble up");
}

你可以执行任何其他自定义操作,例如使用导航到 URL 或使用 Help 类显示 CHM 文件。