2012-03-18 3 views
0

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

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; } 
    } 
+0

Возможный дубликат [Переместить форму только по вертикали] (http://stackoverflow.com/questions/4302440/move-form-only-vertically) –

ответ

1

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

Подробнее Form.ResizeEnd Event.

+0

спасибо, что я искал! – Oztaco

 Смежные вопросы

  • Нет связанных вопросов^_^