Share via


Timer Kelas

Definisi

Menerapkan timer yang meningkatkan peristiwa pada interval yang ditentukan pengguna. Timer ini dioptimalkan untuk digunakan dalam aplikasi Formulir Windows dan harus digunakan dalam jendela.

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

Contoh

Contoh berikut mengimplementasikan timer interval sederhana, yang mematikan alarm setiap lima detik. Ketika alarm terjadi, MessageBox menampilkan hitungan berapa kali alarm telah dimulai dan meminta pengguna untuk apakah timer harus terus berjalan.

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

Keterangan

Timer digunakan untuk menaikkan peristiwa pada interval yang ditentukan pengguna. Timer Windows ini dirancang untuk lingkungan rangkaian tunggal tempat utas UI digunakan untuk melakukan pemrosesan. Ini mengharuskan kode pengguna memiliki pompa pesan UI yang tersedia dan selalu beroperasi dari utas yang sama, atau marshal panggilan ke utas lain.

Saat Anda menggunakan timer ini, gunakan Tick peristiwa untuk melakukan operasi polling atau untuk menampilkan layar splash untuk jangka waktu tertentu. Enabled Setiap kali properti diatur ke true dan Interval properti lebih besar dari nol, Tick peristiwa dinaikkan pada interval berdasarkan Interval pengaturan properti.

Kelas ini menyediakan metode untuk mengatur interval, dan untuk memulai dan menghentikan timer.

Catatan

Komponen Formulir Windows Timer berutas tunggal, dan terbatas pada akurasi 55 milidetik. Jika Anda memerlukan timer multithreaded dengan akurasi yang lebih besar, gunakan Timer kelas di System.Timers namespace.

Konstruktor

Timer()

Menginisialisasi instans baru kelas Timer.

Timer(IContainer)

Menginisialisasi instans Timer baru kelas bersama dengan kontainer yang ditentukan.

Properti

CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Enabled

Mendapatkan atau mengatur apakah timer sedang berjalan.

Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
Interval

Mendapatkan atau mengatur waktu, dalam milidetik, sebelum Tick peristiwa dinaikkan relatif terhadap kejadian Tick terakhir peristiwa.

Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)
Tag

Mendapatkan atau mengatur string arbitrer yang mewakili beberapa jenis status pengguna.

Metode

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Membuang sumber daya, selain memori, yang digunakan oleh timer.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
OnTick(EventArgs)

Memunculkan kejadian Tick.

Start()

Memulai timer.

Stop()

Menghentikan timer.

ToString()

Mengembalikan string yang mewakili Timer.

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)
Tick

Terjadi ketika interval timer yang ditentukan telah berlalu dan timer diaktifkan.

Berlaku untuk