建立自定義幫助按鈕,其作用類似於標準 Form HelpButton

如果你有一個 FormMinimizeBoxMaximizeBox 設定為 true,那麼你不能在 Form 的標題欄上顯示幫助按鈕,並將失去點選幫助按鈕轉換它的功能,以幫助游標能夠點選控制元件到顯示幫助。

你可以在 MenuStrip 上建立一個選單項,就像標準的幫助按鈕一樣。為此,在表單中新增 MenuStrip 並向其新增 ToolStripMenuItem,然後處理該專案的 Click 事件:

private const int WM_SYSCOMMAND = 0x0112;
private const int SC_CONTEXTHELP = 0xF180;
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
private void helpToolStripMenuItem_Click(object sender, EventArgs e)
{
    SendMessage(this.Handle, WM_SYSCOMMAND, SC_CONTEXTHELP, 0);
}

注意: 如果你想使用 Button 進行操作,還需要在傳送訊息之前設定 button1.Capture = false;。但這並不是必須的。

然後當你單擊幫助選單時,游標將更改為 ? 游標,並且將像你單擊標準幫助按鈕時一樣:

StackOverflow 文件