我有内置计时器的winforms :
System.Windows.Forms.Timer timerLoop;
当定时器启动时,我希望(如果可能的话)给这个定时器一个整数值。
timerLoop.Start();
到目前为止,我只创建了一个通用变量,定时器可以在启动定时器之前读取和更新这个变量。
我有内置计时器的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
并在事件中使用该值。
使用Tag
属性Timer
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);