这是一个特定的C#。可调整大小的对话框的默认行为是标题栏单击最大化对话框,第二次双击恢复大小。但是,我想要的是打开“帮助”按钮,这意味着隐藏了最小化和最大化按钮,但我仍然希望标题栏双击行为。这可能通过一些子类化来实现,但也许有人对此有一些好主意。
答案 0 :(得分:2)
您应该能够处理WM_NCHITTEST并查找HT_CAPTION,有关详细信息,请参阅 WM_NCHITTEST message 。
您需要覆盖WndProc才能处理这些消息,这在 Control.WndProc Method 中有所体现。
答案 1 :(得分:2)
private const int WM_NCLBUTTONDBLCLK = 0xA3;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCLBUTTONDBLCLK:
if (this.WindowState==System.Windows.Forms.FormWindowState.Maximized)
this.WindowState=System.Windows.Forms.FormWindowState.Normal;
else if (this.WindowState == System.Windows.Forms.FormWindowState.Normal)
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
return;
}
base.WndProc(ref m);
}
答案 2 :(得分:0)
private const int WM_NCHITTEST = 0x0084;
// Let Windows drag this form for us
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCHITTEST:
m.Result = (IntPtr)2; // HTCLIENT
return;
}
base.WndProc(ref m);
}