處理 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 檔案。