我正在尝试第一次写一个win phone 7应用程序 - 是否有类似于winforms的计时器控件?或者有没有办法获得这种类型的功能?
Jac*_*hea 46
您可以使用System.Windows.Threading.DispatcherTimer.
System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds
dt.Tick += new EventHandler(dt_Tick);
dt.Start();
void dt_Tick(object sender, EventArgs e)
{
// Do Stuff here.
}
Run Code Online (Sandbox Code Playgroud)
DispatchTimer和Timer一样是个不错的选择.
值得熟悉差异并评估哪种更适合您.
方便(UI更新的DispatchTimer)或准确性(可预测性的计时器)是决定的关键.
DispatcherTimer类(System.Windows.Threading)
DispatcherTimer在每个DispatcherTimer循环的顶部重新评估.
定时器不能保证在时间间隔发生时准确执行,但保证在时间间隔发生之前不执行定时器.这是因为DispatcherTimer操作与其他操作一样放在DispatcherTimer队列中.DispatcherTimer操作执行时依赖于队列中的其他作业及其优先级.
如果使用System.Threading.Timer,则值得注意的是Timer在与用户界面(UI)线程不同的线程上运行.为了访问UI线程上的对象,必须使用Dispatcher.BeginInvoke将操作发布到UI线程的DispatcherTimer上.使用DispatcherTimer时,这是不必要的.
| 归档时间: |
|
| 查看次数: |
24188 次 |
| 最近记录: |