silverlight定时器

通过定时器定时调用服务,实现代码如下: public partial class MainPage : UserControl { Storyboard s = null; //DispatcherTimer timer = null; public MainPage() { InitializeComponent(); s = new Storyboard(); s.Duration = new Duration(TimeSpan.FromSeconds(1));//设置更新时间为1秒 s.Completed+=new EventHandler(s_Completed); LayoutRoot.Resources.Add("s",s); //timer = new DispatcherTimer(); //timer.Interval = TimeSpan.FromHours(1);//设置更新时间 //timer.Tick+=new EventHandler(timer_Tick); } //void timer_Tick(object sender,EventArgs e) //{ // txtCount.Text = (Convert.ToInt32(txtCount.Text) + 1).ToString(); //} void s_Completed(object sender, EventArgs e) { txtCount.Text = (Convert.ToInt32(txtCount.Text) + 1).ToString(); //调用服务获取最新记录 GetLatestTimeSoapClient gtime = new GetLatestTimeSoapClient(); gtime.getTimeAsync(); gtime.getTimeCompleted += new EventHandler(gtime_getTimeCompleted); s.Begin(); } void gtime_getTimeCompleted( object sender, getTimeCompletedEventArgs e) { DateTime d = new DateTime(); d = DateTime.Now; int second = d.Second; if (second == 5)//每分钟的第五秒执行 { var value = e.Result; List a = value.ToList(); AirHour[] airarray = a.ToArray(); double so2 =(double) airarray[0].so2value; double no2 = (double)airarray[0].no2value; double dust = (double)airarray[0].dustvalue; SO2value.Content ="SO2:"+ so2.ToString(); NO2value.Content ="NO2:"+no2.ToString(); dustvalue.Content ="可吸入颗粒物:"+ dust.ToString(); } private void txtCount_Loaded(object sender, RoutedEventArgs e) { //页面加载时调用一次服务 GetLatestTimeSoapClient gtime = new GetLatestTimeSoapClient(); gtime.getTimeAsync(); gtime.getTimeCompleted += new EventHandler(gtime_getTimeCompletedFirst); s.Begin(); //timer.Start(); } 

你可能感兴趣的:(C#技术)