如何限制图片框移动到屏幕

How to limit Picturebox movement to screen

我有一个应用程序,只要满足条件,它就会有一个由计时器控制的移动图片框。所有这一切都很好。但是,我希望将移动的 Picturebox 限制在屏幕内。

我的代码在这里:

public Random r = new Random();

private void OutsideBusinessHoursTimer_Tick(object sender, EventArgs e)
{
  int x = r.Next(0, 925);
  int y = r.Next(0, 445);
  this.pbLifebrokerInactive.Top = y;
  this.pbLifebrokerInactive.Left = x;
}

我怎样才能最好地做到这一点?我也可以在 Timer 事件中这样做吗?谢谢你的耐心! :)

不确定这是否是您想要的,但这会将其限制在您的表单区域:

    private void OutsideBusinessHoursTimer_Tick(object sender, EventArgs e)
    {
        int x = r.Next(0, this.ClientRectangle.Width - this.pbLifebrokerInactive.Width);
        int y = r.Next(0, this.ClientRectangle.Height - this.pbLifebrokerInactive.Height);
        this.pbLifebrokerInactive.Location = new Point(x, y);
    }