如何检测在c#中双击窗口标题
本文关键字:双击 窗口标题 何检测 检测 | 更新日期: 2023-09-27 18:19:06
当然还有一种方法来发生窗口移动事件。任何想法?
标题要求一件事,问题是另一件事。对于你的问题,你正在寻找这个,我猜- http://msdn.microsoft.com/en-us/library/system.windows.forms.control.move.aspx
编辑:你的标题问题——http://www.codeproject.com/KB/vb/MouseClickOnTitlebar.aspx
你可以通过
处理双击 #define WM_NCMBUTTONDBLCLK 0x00A9
希望这些能回答你的问题
解决方案不适合我(VS2015, Win7)。但工作方式略有不同…
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_NCLBUTTONDBLCLK = 0x00A3; // this constant int is different
if (m.Msg == WM_NCLBUTTONDBLCLK)
this.OnResizeEnd(EventArgs.Empty);
}
当双击窗口的标题栏时,窗口的大小发生变化:它要么最大化,要么返回到正常的窗口状态。Resize事件在这两种情况下以及最小化窗口时触发。这意味着您可以用这种方式处理窗口最大化、最小化和其他窗口大小调整事件:
private void Form1_Resize(object sender, EventArgs e)
{
switch (this.WindowState)
{
case FormWindowState.Maximized:
//handle maximizing
break;
case FormWindowState.Minimized:
//handle minimizing
break;
case FormWindowState.Normal:
//if you want, handling resizing the window in Normal state.
break;
default:
break;
}
}
你也可以处理窗体/窗口的移动事件,当它移动时做一些事情:
private void Form1_Move(object sender, EventArgs e)
{
this.Text = this.Location.ToString();
}