C# 防止窗口在不抖动的情况下离开MDI?
在我的Form1的移动事件中,我检查它的位置,如果它不在用户的视图中,我将它移回。他移动完后是否会触发事件?因为move事件在移动时触发,所以我需要它在移动后触发。以下是我目前的代码:C# 防止窗口在不抖动的情况下离开MDI?,c#,winforms,events,window,mdi,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 >
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; }
}
private void PublicTicker\u Move(对象发送方,事件参数e)
{
如果(此左<0)
{this.Left=0;}
else if(this.Left>this.MdiParent.ClientRectangle.Width-this.Width)
{this.Left=this.MdiParent.ClientRectangle.Width-this.Width;}
如果(本图顶部<3)
{this.Top=3;}
else if(this.Top>this.MdiParent.ClientRectangle.Height-this.Height)
{this.Top=this.MdiParent.ClientRectangle.Height-this.Height;}
}
尝试在ResizeEnd事件中执行移动校正例程。令人惊讶的是,它不仅在窗体调整大小时被触发,而且在用户移动窗体时也被触发
阅读更多信息。可能的副本