我有一个计时器,当某个事件(someEvent
)发生一秒时开始计数,如果事件在这一秒内再次触发我希望第一个计时器停止并从0再次开始计数我试过这个:
void someEvent (object sender, TextChangedEventArgs e )
{
aTimer = new System.Timers.Timer();
aTimer.Change(5000, 0);
aTimer.Elapsed += OnTimedEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;
}
MainWindow中的计时器定义:
private System.Timers.Timer aTimer;
但是我对aTimer.Change的错误说:“计时器不包含'更改'的定义。”
这是使用WPF实现的。
答案 0 :(得分:1)
命名空间很重要
.NET有很多定时器类,每个类都有自己的特定功能和公开的方法,因此很容易在命名空间之间混淆(因为大多数类只被称为Timer
)
您目前正在使用System.Timers.Timer
类,该类主要由Start()
和Stop()
方法组成。如果您需要Change()
方法,则需要使用System.Threading.Timer
类的实例:
// Declare the timer as the other type of timer
aTimer = new System.Threading.Timer();
答案 1 :(得分:0)