程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 寫定時器(不拖控件)

C# 寫定時器(不拖控件)

編輯:C#入門知識

private Timer loginTimer; //定義一個定時器     這時需要引入命名空間:using System.Timers;
private int loginCouter;   //登陸次數計數器
 
private TimerTest()
{
       if(false)   //此處為偽代碼
       {
            //登陸失敗
       }
       this.loginCouter = 0;  //登陸次數清0
       this.loginTimer = new System.Timers.Timer()   //給定時器設定屬性
       {
             AutoReset = false,      //自動更新為false
             Interval = 200              //200毫秒重啟一次定時器
      };
      this.loginTimer.Elapsed += new ElapsedEventHandler(loginTimer_Elapsed);  //注冊定時器需要執行的事件
      this.loginTimer.Start();     //啟動定時器
}
 
void loginTimer_Elapsed(object sender, ElapsedEventArgs e)     //事件內部寫功能
{
            this.loginCouter++;
            if (登陸成功)   //此處為偽代碼
            {
                this.Dispatcher.BeginInvoke(new Action(() => {
                    this.ConsoleTextBox.Text = "登陸成功!\n";
                }), null);            //這樣寫的目的是,為了啟動一個線程和別的線程分開(采用多線程)來運行定時器,以不至於由於單線程導致程序卡死  www.2cto.com
            }
            else if (this.loginCouter>150)
            {
                this.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        this.ConsoleTextBox.Text = "登陸請求超時!\n";
                    }), null);
            }
            else
            {
                this.loginTimer.Start();  //重啟定時器
            }
}
作者:haitaoDoit

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved