Timer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. |