防止窗口离开MDI而不抽搐?

时间:2012-03-18 15:53:49

标签: c# winforms events window mdi

在我的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; }
    }

1 个答案:

答案 0 :(得分:1)

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

了解更多Form.ResizeEnd Event