zoukankan      html  css  js  c++  java
  • wpf中应该使用c#四种定时器中的DispatcherTimer

    c#中有四种定时器
    1:System.Threading.Timer
    使用:
    private System.Threading.Timer timerClose;
    timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, 0);
     
    private void timerCall(object obj)
    {
    timerClose.Dispose();
    this.Close();
    }
    2:System.Timers.Timer
    使用:
    System.Timers.Timer t =  new System.Timers.Timer(10000);  
     
    //实例化Timer类,设置间隔时间为10000毫秒;   
     
    t.Elapsed +=  new System.Timers.ElapsedEventHandler(theout);  
     
    //到达时间的时候执行事件; 
     
    t.AutoReset = true;  
     
    //设置是执行一次(false)还是一直执行(true);   
     
    t.Enabled = true;
    //需要调用 timer.Start()或者timer.Enabled = true来启动它, timer.Start()的内部原理还是设置timer.Enabled = true;
     
    public void theout(object source, System.Timers.ElapsedEventArgs e)
    {
     
    }
    3:System.Windows.Forms.Timer(Windows Forms Timer)
    使用:
    System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
     
    myTimer.Tick += new EventHandler(timer1_Tick);
    myTimer.Enabled = true;
    myTimer.Interval = 1000;
    myTimer.Start();
     
    private void timer1_Tick(object sender, EventArgs e)
            {
            }
    4:System.Windows.Threading.DispatcherTimer(WPF timer);
    使用:
    private static System.Windows.Threading.DispatcherTimer readDataTimer = new System.Windows.Threading.DispatcherTimer();
    readDataTimer.Tick += new EventHandler(timeCycle);
    readDataTimer.Interval = new TimeSpan(0, 0, 0, 1);
    readDataTimer.Start();
     
    public static void timeCycle(object sender, EventArgs e)
    {
     
    }
    需要注意的是在wpf中涉及到界面操作的话,一定要使用第四种定时器DispatcherTime,DispatcherTimer是为wpf专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面。
    --------------------- 
    来源:CSDN 
    原文:https://blog.csdn.net/aiyongyyy/article/details/51670840 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    委托、Lamda表达式
    springcloud-feign的hystrix支持
    springcloud-断路器hystrix
    Java原子性、可见性、内存模型
    volatile特性
    synchronized实现可见性
    Js四则运算精度问题处理
    docker 简单安装java web项目
    elasticsearch 分布式集群搭建
    logstash-input-jdbc同时同步多个表
  • 原文地址:https://www.cnblogs.com/nimorl/p/9846860.html
Copyright © 2011-2022 走看看