如何正确使用Xamarin中的线程定时器?

时间:2016-06-06 21:32:49

标签: multithreading timer cross-platform xamarin.forms stopwatch

我想使用计时器,执行时间,暂停和停止。

花了好几天我搜索如何以最好的方式使用计时器,因为,如你所知,它不会直接存在计时器,除非创建它。

所以,我通过创建一个计时器,使用timepan,timercallback和秒表来跟踪这些信息:

Timer doesn't contain in System.Threading at Xamarin.Forms

https://developer.xamarin.com/api/namespace/System.Timers/

https://developer.xamarin.com/api/type/System.Diagnostics.Stopwatch/

我认为秒表是最好的。有几个manupulations,我有我想要的,但问题是每次按下运行按钮时,我应该按下按钮一次的时间用完了。

还有一个线程,我已经完成了,但它没有改变任何东西。我不知道为什么会这样做。

与Datetime相同,我希望Datetime的时间继续运行,而我没有按下另一个按钮来停止它。

如果某人有想法,请提前感谢你。

1 个答案:

答案 0 :(得分:0)

正如我所说,我想我会拥有我想做的。但我只需要按一次按钮来运行计时器,而不是每次都按下它,时间以毫秒为单位递增毫秒。

所以,这是我的chronoTimer.cs:

 actualDate = DateTime.Now;
 sw = new Stopwatch();



                sw.Start();

    labelChrono.Text = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", sw.Elapsed.Hours, sw.Elapsed.Minutes, sw.Elapsed.Seconds,
                   sw.Elapsed.Milliseconds);

 labelDate.Text = DateTime.Now.ToString();

            Temps();

}

然后在我的buttonTimer_OnClicked方法上:

{{1}}