创建自定义帮助按钮,其作用类似于标准 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 文档