更改计时器tick事件的参数

本文关键字:参数 事件 tick 计时器 | 更新日期: 2023-09-27 18:07:38

我正在使用Windows编写一个。net应用程序。c#中的表单。我正在用画盒模仿记分牌。我们的计划是每计时一次将其宽度调整为2px,直到它们达到所需的宽度。这就是问题所在,因为我不知道如何告诉timer tick函数picturebox的宽度应该增加多少。我不想为每个图片框使用不同的方法,因为我不认为这真的是最佳的方法。

所以,问题是,我如何设置指定的pixtureboxes和所需的宽度受timer_tick方法的影响?

我正在尝试做一些像波兰版的家庭宿怨板:https://www.youtube.com/watch?v=uL-y18ZkbcQ(从3:05观看)

更改计时器tick事件的参数

只需编写一个小助手类来跟踪计时器和图片框。它可以像这样:

    class Animator : IDisposable {
        private Timer timer;
        private PictureBox pbox;
        private int maxSize;
        public Animator(PictureBox box, int size) {
            pbox = box;
            maxSize = size;
            timer = new Timer() { Interval = 45, Enabled = true };
            timer.Tick += animate;
        }
        private void animate(object sender, EventArgs e) {
             if (pbox.IsDisposed || pbox.Width >= maxSize) Dispose();
             else pbox.Width += Math.Min(2, maxSize - pbox.Width);
        }
        public void Dispose() { timer.Dispose();  }
    }

现在你可以在你的Form类中使用一个简单的语句创建任意数量的文件:

   new Animator(pictureBox1, 50);