gpt4 book ai didi

c# - 更改计时器滴答事件的参数

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:13 24 4
gpt4 key购买 nike

我正在使用 C# 中的 Windows.Forms 编写一个 .Net 应用程序。我正在使用图片框模仿记分牌。计划是在每个计时器滴答声中将它们的宽度增加 2px,直到它们达到所需的宽度。这就是问题所在,因为我不知道如何告诉计时器滴答函数它应该增加什么图片框的宽度。我不想对每个图片框使用不同的方法,因为我认为这并不是真正的最佳方法。

那么,问题是,如何设置指定的像素框和所需的宽度以受 timer_tick 方法的影响?

我正在尝试做一些事情,比如波兰语版本的 Family Feud 中的棋盘:https://www.youtube.com/watch?v=uL-y18ZkbcQ (从 3:05 开始观看)

最佳答案

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

    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);

关于c# - 更改计时器滴答事件的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24106886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com