Timer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementiert einen Timer, der ein Ereignis in benutzerdefinierten Intervallen auslöst. Dieser Timer ist für die Verwendung in Windows Forms-Anwendungen optimiert und muss in einem Fenster verwendet werden.
public ref class Timer : System::ComponentModel::Component
public class Timer : System.ComponentModel.Component
type Timer = class
inherit Component
Public Class Timer
Inherits Component
- Vererbung
Beispiele
Im folgenden Beispiel wird ein einfacher Intervalltimer implementiert, der alle fünf Sekunden einen Alarm aussetzt. Wenn der Alarm auftritt, zeigt eine MessageBox Zählung an, wie oft der Alarm gestartet wurde, und fordert den Benutzer auf, ob der Timer weiterhin ausgeführt werden soll.
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 )
{
// 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) {
// 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
Hinweise
A Timer wird verwendet, um ein Ereignis in benutzerdefinierten Intervallen auszuheben. Dieser Windows-Timer wurde für eine Einzelthreadumgebung entwickelt, in der UI-Threads zur Verarbeitung verwendet werden. Es erfordert, dass der Benutzercode über eine Ui-Nachrichtenpumpe verfügt und immer mit demselben Thread ausgeführt wird, oder den Aufruf auf einen anderen Thread marshallen.
Wenn Sie diesen Timer verwenden, verwenden Sie das Tick Ereignis zum Ausführen eines Abrufvorgangs oder zum Anzeigen eines Begrüßungsbildschirms für einen bestimmten Zeitraum. Wenn die Enabled Eigenschaft auf true null festgelegt ist und die Interval Eigenschaft größer als 0 ist, wird das Tick Ereignis in Intervallen basierend auf der Interval Eigenschaftseinstellung ausgelöst.
Diese Klasse stellt Methoden zum Festlegen des Intervalls und zum Starten und Beenden des Timers bereit.
Hinweis
Die Komponente "Windows Forms Timer" ist singlethreaded und ist auf eine Genauigkeit von 55 Millisekunden beschränkt. Wenn Sie einen Multithread-Timer mit größerer Genauigkeit benötigen, verwenden Sie die Timer Klasse im System.Timers Namespace.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Timer() |
Initialisiert eine neue Instanz der Timer-Klasse. |
| Timer(IContainer) |
Initialisiert eine neue Instanz der Timer Klasse zusammen mit dem angegebenen Container. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| Enabled |
Ruft ab oder legt fest, ob der Timer ausgeführt wird. |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| Interval |
Ruft die Zeit in Millisekunden ab, bevor das Ereignis relativ zum letzten Vorkommen des Tick Ereignisses ausgelöst wird, oder legt diese Tick fest. |
| Site |
Dient zum ISite Abrufen oder Festlegen des Werts des Component. (Geerbt von Component) |
| Tag |
Ruft eine beliebige Zeichenfolge ab, die einen Typ des Benutzerstatus darstellt, oder legt diese fest. |
Methoden
| Name | Beschreibung |
|---|---|
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Entfernt die Ressourcen, die nicht vom Timer verwendet werden, außer dem Arbeitsspeicher. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| OnTick(EventArgs) |
Löst das Tick-Ereignis aus. |
| Start() |
Startet den Timer. |
| Stop() |
Beendet den Timer. |
| ToString() |
Gibt eine Zeichenfolge zurück, die die Timer. |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
| Tick |
Tritt auf, wenn das angegebene Zeitgeberintervall verstrichen ist und der Timer aktiviert ist. |