防止窗口在不抽动的情况下离开MDI

本文关键字:情况下 离开 MDI 窗口 | 更新日期: 2023-09-27 18:28:07

在Form1的Move事件中,我检查它的位置,如果它不在用户的视野中,我会将它移回。有没有一个事件在他移动完后会触发?因为移动事件是在移动的时候触发的,所以我需要它在移动之后。这是我到目前为止的代码:

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

防止窗口在不抽动的情况下离开MDI

尝试在ResizeEnd事件中执行移动校正例程。令人惊讶的是,它不仅在调整窗体大小时被触发,而且在用户移动窗体时也被触发。

阅读更多Form.ResizeEnd事件。