创建自定义帮助按钮,其作用类似于标准 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;
。但这并不是必须的。
然后当你单击帮助菜单时,光标将更改为 ?
光标,并且将像你单击标准帮助按钮时一样: