建立自定義幫助按鈕,其作用類似於標準 Form HelpButton
如果你有一個 Form
與 MinimizeBox
和 MaximizeBox
設定為 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;
。但這並不是必須的。
然後當你單擊幫助選單時,游標將更改為 ?
游標,並且將像你單擊標準幫助按鈕時一樣: