Timer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |