如何检测在c#中双击窗口标题

本文关键字:双击 窗口标题 何检测 检测 | 更新日期: 2023-09-27 18:19:06

当然还有一种方法来发生窗口移动事件。任何想法?

如何检测在c#中双击窗口标题

标题要求一件事,问题是另一件事。对于你的问题,你正在寻找这个,我猜- 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();
    }