我希望能够将帮助按钮添加到我的 winform 上,但保留最大化和最小化按钮,但 Windows 标准是禁用两者才能显示帮助按钮。
已经有一个类似的问题: 如何包含帮助'?在winform的标题栏中-但在那个问题中,提出问题的人满足于删除这两个按钮以显示帮助。
有没有我可以同时拥有帮助、最大、最小和关闭按钮的地方?
谢谢。
我希望能够将帮助按钮添加到我的 winform 上,但保留最大化和最小化按钮,但 Windows 标准是禁用两者才能显示帮助按钮。
已经有一个类似的问题: 如何包含帮助'?在winform的标题栏中-但在那个问题中,提出问题的人满足于删除这两个按钮以显示帮助。
有没有我可以同时拥有帮助、最大、最小和关闭按钮的地方?
谢谢。
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);
假设按钮的名称是“帮助”。
一种方法是绘制自己的边框。
FormBorderStyle = None
现在构建您自己的字幕区域。这不是微不足道的,因为您必须处理拖动调整大小事件、透明度(如果您想要圆角等)。