将整数传递给 WinForms 应用程序中的计时器
本文关键字:应用程序 计时器 WinForms 整数 | 更新日期: 2023-09-27 18:13:21
我在计时器中内置了我的 winforms:
System.Windows.Forms.Timer timerLoop;
当计时器启动时,我希望(如果可能(向这个计时器传递一个整数值。
timerLoop.Start();
到目前为止,我只创建了一个通用变量,计时器可以在启动计时器之前读取和更新此变量。
您可以通过两种方式(也许更多(执行此操作:
通过创建继承基本Timer
的新来扩展它:
private class TimerExnteded : Timer
{
public int Value { get; set; }
public TimerExnteded(int value)
{
Value = value;
}
}
并在事件中使用该值Tick
。
使用Timer
Tag
属性
Timer t = new Timer();
t.Tag = 5;
t.Start();
//event
private void t_Tick(object sender, EventArgs e)
{
var timer = sender as Timer;
var value = (timer.Tag as int?) ?? 0;
value++;
timer.Tag = value;
}
第二种方法使用值的装箱/拆箱。
你也可以使用闭包:
t.Tick += (s, a) => OnTick(YourValue);