添加帮助按钮,但保持最大化和最小化

Axx*_*ian 8 c# winforms

我希望能够将帮助按钮添加到我的winform,但保持maxmimize和最小化按钮,但Windows标准是禁用两者以便能够显示帮助按钮.

已经存在类似的问题: 如何包含帮助'?' 在winform的标题栏中 - 但在那个问题中,提出问题的人满足于删除那些帮助显示的2个按钮.

在那里,我可以同时获得帮助,最大,最小和关闭按钮吗?

谢谢.

Han*_*ant 10

Windows不支持同时显示.解决方法是提供您自己的按钮以触发相同的操作.把它放在靠近右上角的地方.您可以通过向自己发送WM_SYSCOMMAND消息来触发此消息,就像标准帮助按钮一样.像这样:

    private void Help_Click(object sender, EventArgs e) {
        Help.Capture = false;
        SendMessage(this.Handle, WM_SYSCOMMAND, (IntPtr)SC_CONTEXTHELP, IntPtr.Zero);
    }

    private const int WM_SYSCOMMAND = 0x112;
    private const int SC_CONTEXTHELP = 0xf180;
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
Run Code Online (Sandbox Code Playgroud)

假设该按钮的名称为"帮助".

  • Office应用程序使用自定义框架,而不是标准Windows窗口框架.当有数百名程序员在使用产品时,你可以做的好事. (3认同)