Как обнаружить двойной щелчок по заголовку окна в c # - PullRequest
0 голосов
/ 31 декабря 2011

И, конечно, способ возникновения события движения окна.Есть идеи?

Ответы [ 3 ]

1 голос
/ 31 декабря 2011

Ваш заголовок запрашивает одно, а ваш вопрос - другое. На ваш вопрос, вы ищете это, я думаю - 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

Надеюсь, что эти ответы отвечают на ваш вопрос.

0 голосов
/ 18 января 2018

Решение не работает для меня (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);
    }
0 голосов
/ 31 декабря 2011

При двойном щелчке строки заголовка окна размер окна изменяется: он либо увеличивается, либо возвращается в нормальное состояние окна. Событие 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;
        }
    }

Вы также можете обрабатывать событие Move формы / окна, чтобы что-то делать при его перемещении:

    private void Form1_Move(object sender, EventArgs e)
    {
        this.Text = this.Location.ToString();
    }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...