winforms 处理控件和表单的HelpRequested事件

示例

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

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

所述HelpRequested支撑件冒泡机制。它会为您的活动控件触发,如果您不处理该事件,并且未将Handled其事件arg的属性设置为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或使用Helpclass显示CHM文件。