我正在试图弄清楚调度计时器是如何工作的,所以我可以将它实现到我的程序中,我按照网站上的确切说明查找堆栈溢出的答案.人们说他们的问题是固定的,但我的代码非常相似,它不会工作......
错误是:
"timer_Tick"没有重载与委托"EventHandler
我能做什么?
public MainPage() { this.InitializeComponent(); DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(1); timer.Tick += timer_Tick; timer.Start(); } void timer_Tick(EventArgs e) { TimeRefresh(); }
Grant - REIN.. 5
您需要修复事件处理程序签名.它缺少发件人,第二个参数的类型就是object
.(参见文档.)
void timer_Tick(object sender, object e) { TimeRefresh(); }
您还需要using Windows.UI.Xaml;
在类的顶部添加a ,或使用完整命名空间实例化计时器:
Windows.UI.Xaml.DispatcherTimer timer = new Windows.UI.Xaml.DispatcherTimer();
如果有人偶然发现并使用WPF,它就拥有自己的DispatchTimer.确保您引用"WindowsBase" (默认情况下应该在那里).签名略有不同.
void timer_Tick(object sender, EventArgs e) { TimeRefresh(); }
它所居住的命名空间也不同.要么添加using System.Windows.Threading;
到顶部,要么使用完整命名空间限定:
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
如果您使用的是WinForms,则需要使用其他计时器.阅读本文,了解 WinForms Timer和WPF DispatchTimer之间的区别.
您需要修复事件处理程序签名.它缺少发件人,第二个参数的类型就是object
.(参见文档.)
void timer_Tick(object sender, object e) { TimeRefresh(); }
您还需要using Windows.UI.Xaml;
在类的顶部添加a ,或使用完整命名空间实例化计时器:
Windows.UI.Xaml.DispatcherTimer timer = new Windows.UI.Xaml.DispatcherTimer();
如果有人偶然发现并使用WPF,它就拥有自己的DispatchTimer.确保您引用"WindowsBase" (默认情况下应该在那里).签名略有不同.
void timer_Tick(object sender, EventArgs e) { TimeRefresh(); }
它所居住的命名空间也不同.要么添加using System.Windows.Threading;
到顶部,要么使用完整命名空间限定:
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
如果您使用的是WinForms,则需要使用其他计时器.阅读本文,了解 WinForms Timer和WPF DispatchTimer之间的区别.