C# 我需要有关UpdateForm()的帮助;(Windows窗体应用程序)

C# 我需要有关UpdateForm()的帮助;(Windows窗体应用程序),c#,forms,C#,Forms,嘿,我不太明白如何创建用于更新表单的对象。(Windows窗体应用程序)。我正在做一本书中的一个项目,要求我制作一个赛狗节目。 我需要更新狗的图片框以便它们移动。谢谢你的帮助 一个简单的方法是按照以下步骤操作: 将对象添加到System.Windows.Forms.Timer的窗体中 设定时间间隔 将其设置为“启用” 创建一个响应勾号事件的事件处理程序 在事件处理程序中,可以移动图片框。您可能需要为每个图片框存储一个随机数,以确定移动速率。您还需要一种方法来限制框在表单上移动的距离 以下是代码形

嘿,我不太明白如何创建用于更新表单的对象。(Windows窗体应用程序)。我正在做一本书中的一个项目,要求我制作一个赛狗节目。
我需要更新狗的图片框以便它们移动。谢谢你的帮助

一个简单的方法是按照以下步骤操作:

  • 将对象添加到System.Windows.Forms.Timer的窗体中
  • 设定时间间隔
  • 将其设置为“启用”
  • 创建一个响应勾号事件的事件处理程序
  • 在事件处理程序中,可以移动图片框。您可能需要为每个图片框存储一个随机数,以确定移动速率。您还需要一种方法来限制框在表单上移动的距离

    以下是代码形式的概念证明:


    为什么狗在赛马节目中比赛?您是在一个图片框中展示所有的狗,还是在每个图片框中展示不同的狗?所有的狗都以随机速率移动。所以我想他们所有人都需要一次更新他们的位置,这样才是实时的。每只狗都在一个不同的图框里。
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
    
            _rate = new Random().Next(1, 10);
    
            _timer = new Timer() { Interval = 100, Enabled = true };
            _timer.Tick += new EventHandler(timer_Tick);
        }
    
        void timer_Tick(object sender, EventArgs e)
        {
            if (this.pictureBox1.Location.X > (this.Size.Width - this.pictureBox1.Size.Width))
            {
                return;
            }
    
            Point newLocation = this.pictureBox1.Location;
            newLocation.X += _rate;
            this.pictureBox1.Location = newLocation;
        }
    
        private int _rate;
        private Timer _timer;
    }