Предотвращение выхода окна из MDI без подергивания? - PullRequest
0 голосов
/ 18 марта 2012

В событии Move моей формы Form1 я проверяю его положение и, если он не виден пользователю, я перемещаю его назад. Есть ли событие, которое срабатывает, когда он заканчивает движение? Поскольку событие перемещения запускается во время его перемещения, мне нужно, чтобы оно было после его перемещения. Вот мой код:

    private void PublicTicker_Move(object sender, EventArgs e)
    {
        if (this.Left < 0)
        { this.Left = 0; }

        else if (this.Left > this.MdiParent.ClientRectangle.Width - this.Width)
        { this.Left = this.MdiParent.ClientRectangle.Width - this.Width; }

        if (this.Top < 3)
        { this.Top = 3; }

        else if (this.Top > this.MdiParent.ClientRectangle.Height - this.Height)
        { this.Top = this.MdiParent.ClientRectangle.Height - this.Height; }
    }

1 Ответ

1 голос
/ 18 марта 2012

Попробуйте выполнить процедуры коррекции перемещения в событии ResizeEnd .Удивительно, но он запускается не только при изменении размера формы, но и при перемещении формы пользователем.

Подробнее Событие Form.ResizeEnd .

...