Timer Sınıf

Tanım

Kullanıcı tanımlı aralıklarla olay oluşturan bir zamanlayıcı uygular. Bu zamanlayıcı Windows Forms uygulamalarda kullanılmak üzere iyileştirilmiştir ve bir pencerede kullanılmalıdır.

public ref class Timer : System::ComponentModel::Component
public class Timer : System.ComponentModel.Component
type Timer = class
    inherit Component
Public Class Timer
Inherits Component
Devralma

Örnekler

Aşağıdaki örnek, beş saniyede bir alarm ayarlayan basit bir aralık zamanlayıcı uygular. Alarm oluştuğunda, MessageBox alarmın kaç kez başlatıldığının sayısını görüntüler ve kullanıcıya zamanlayıcının çalışmaya devam edip etmeyeceğini sorar.

public ref class Class1
{
private:
   static System::Windows::Forms::Timer^ myTimer = gcnew System::Windows::Forms::Timer;
   static int alarmCounter = 1;
   static bool exitFlag = false;

   // This is the method to run when the timer is raised.
   static void TimerEventProcessor( Object^ /*myObject*/, EventArgs^ /*myEventArgs*/ )
   {
      myTimer->Stop();
      
      // Displays a message box asking whether to continue running the timer.
      if ( MessageBox::Show( "Continue running?", String::Format( "Count is: {0}", alarmCounter ), MessageBoxButtons::YesNo ) == DialogResult::Yes )
      {
         
         // Restarts the timer and increments the counter.
         alarmCounter += 1;
         myTimer->Enabled = true;
      }
      else
      {
         
         // Stops the timer.
         exitFlag = true;
      }
   }


public:
   static void Main()
   {
      
      /* Adds the event and the event handler for the method that will 
                process the timer event to the timer. */
      myTimer->Tick += gcnew EventHandler( TimerEventProcessor );
      
      // Sets the timer interval to 5 seconds.
      myTimer->Interval = 5000;
      myTimer->Start();
      
      // Runs the timer, and raises the event.
      while ( exitFlag == false )
      {
         
         // Processes all the events in the queue.
         Application::DoEvents();
      }
   }

};

int main()
{
   Class1::Main();
}
public class Class1 {
    static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
    static int alarmCounter = 1;
    static bool exitFlag = false;
 
    // This is the method to run when the timer is raised.
    private static void TimerEventProcessor(Object myObject,
                                            EventArgs myEventArgs) {
       myTimer.Stop();
 
       // Displays a message box asking whether to continue running the timer.
       if(MessageBox.Show("Continue running?", "Count is: " + alarmCounter, 
          MessageBoxButtons.YesNo) == DialogResult.Yes) {
          // Restarts the timer and increments the counter.
          alarmCounter +=1;
          myTimer.Enabled = true;
       }
       else {
          // Stops the timer.
          exitFlag = true;
       }
    }
 
    public static int Main() {
       /* Adds the event and the event handler for the method that will 
          process the timer event to the timer. */
       myTimer.Tick += new EventHandler(TimerEventProcessor);
 
       // Sets the timer interval to 5 seconds.
       myTimer.Interval = 5000;
       myTimer.Start();
 
       // Runs the timer, and raises the event.
       while(exitFlag == false) {
          // Processes all the events in the queue.
          Application.DoEvents();
       }
    return 0;
    }
 }
Public Class Class1
    Private Shared WithEvents myTimer As New System.Windows.Forms.Timer()
    Private Shared alarmCounter As Integer = 1
    Private Shared exitFlag As Boolean = False    
    
    ' This is the method to run when the timer is raised.
    Private Shared Sub TimerEventProcessor(myObject As Object, _
                                           ByVal myEventArgs As EventArgs) _
                                       Handles myTimer.Tick
        myTimer.Stop()
        
        ' Displays a message box asking whether to continue running the timer.
        If MessageBox.Show("Continue running?", "Count is: " & alarmCounter, _
                            MessageBoxButtons.YesNo) = DialogResult.Yes Then
            ' Restarts the timer and increments the counter.
            alarmCounter += 1
            myTimer.Enabled = True
        Else
            ' Stops the timer.
            exitFlag = True
        End If
    End Sub
    
    Public Shared Sub Main()
        ' Adds the event and the event handler for the method that will
        ' process the timer event to the timer.
        
        ' Sets the timer interval to 5 seconds.
        myTimer.Interval = 5000
        myTimer.Start()
        
        ' Runs the timer, and raises the event.
        While exitFlag = False
            ' Processes all the events in the queue.
            Application.DoEvents()
        End While

    End Sub    

End Class

Açıklamalar

kullanıcı Timer tanımlı aralıklarla bir olay oluşturmak için kullanılır. Bu Windows zamanlayıcı, ui iş parçacıklarının işleme gerçekleştirmek için kullanıldığı tek iş parçacıklı bir ortam için tasarlanmıştır. Kullanıcı kodunun kullanılabilir bir UI ileti pompasına sahip olmasını ve her zaman aynı iş parçacığından çalıştırılmasını veya çağrıyı başka bir iş parçacığına hazırlamasını gerektirir.

Bu zamanlayıcıyı Tick kullandığınızda, olayı kullanarak yoklama işlemi gerçekleştirin veya belirli bir süre boyunca bir giriş ekranı görüntüleyin. Enabled özelliği olarak ayarlandığında true ve Interval özellik sıfırdan büyük olduğunda, Tick olay özellik ayarına Interval göre aralıklarla oluşturulur.

Bu sınıf aralığı ayarlamak ve zamanlayıcıyı başlatmak ve durdurmak için yöntemler sağlar.

Not

Windows Forms Zamanlayıcı bileşeni tek iş parçacıklıdır ve 55 milisaniyelik bir doğrulukla sınırlıdır. Daha yüksek doğrulukla çok iş parçacıklı bir zamanlayıcıya ihtiyacınız varsa, ad alanında sınıfını TimerSystem.Timers kullanın.

Oluşturucular

Timer()

Timer sınıfının yeni bir örneğini başlatır.

Timer(IContainer)

Belirtilen kapsayıcıyla birlikte sınıfının yeni bir örneğini Timer başlatır.

Özellikler

CanRaiseEvents

Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
Container

öğesini IContainer içeren öğesini Componentalır.

(Devralındığı yer: Component)
DesignMode

öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır.

(Devralındığı yer: Component)
Enabled

Zamanlayıcının çalışıp çalışmadığını alır veya ayarlar.

Events

Bu Componentöğesine eklenen olay işleyicilerinin listesini alır.

(Devralındığı yer: Component)
Interval

Olayın son oluşumuna Tick göre tetiklenmeden önce Tick milisaniye cinsinden süreyi alır veya ayarlar.

Site

öğesini alır veya ayarlar ISiteComponent.

(Devralındığı yer: Component)
Tag

Bir tür kullanıcı durumunu temsil eden rastgele bir dize alır veya ayarlar.

Yöntemler

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

Component tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

Zamanlayıcı tarafından kullanılan bellek dışındaki kaynakları atlar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetService(Type)

veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür.

(Devralındığı yer: Component)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
OnTick(EventArgs)

Olayı tetikler Tick .

Start()

Zamanlayıcıyı başlatır.

Stop()

Zamanlayıcıyı durdurur.

ToString()

öğesini temsil Timereden bir dize döndürür.

Ekinlikler

Disposed

Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir.

(Devralındığı yer: Component)
Tick

Belirtilen süreölçer aralığı geçtiğinde ve zamanlayıcı etkinleştirildiğinde gerçekleşir.

Şunlara uygulanır