Timer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Implementuje časovač, který vyvolá událost v uživatelsky definovaných intervalech. Tento časovač je optimalizovaný pro použití v model Windows Forms aplikacích a musí se používat v okně.
public ref class Timer : System::ComponentModel::Component
public class Timer : System.ComponentModel.Component
type Timer = class
inherit Component
Public Class Timer
Inherits Component
- Dědičnost
Příklady
Následující příklad implementuje jednoduchý časovač intervalu, který každých pět sekund spustí alarm. Když dojde k alarmu MessageBox , zobrazí se počet spuštění alarmu a zobrazí uživateli výzvu, zda má časovač pokračovat.
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
Poznámky
A Timer se používá k vyvolání události v uživatelsky definovaných intervalech. Tento časovač systému Windows je navržený pro jednovláknové prostředí, ve kterém se k provádění zpracování používají vlákna uživatelského rozhraní. Vyžaduje, aby měl uživatelský kód k dispozici pumpu zpráv uživatelského rozhraní a vždy pracoval ze stejného vlákna, nebo zařazovat volání do jiného vlákna.
Při použití tohoto časovače Tick použijte událost k provedení operace dotazování nebo k zobrazení úvodní obrazovky po určitou dobu.
Enabled Kdykoli je vlastnost nastavena na true
a Interval vlastnost je větší než nula, Tick událost je vyvolána v intervalech na Interval základě nastavení vlastnosti.
Tato třída poskytuje metody pro nastavení intervalu a spuštění a zastavení časovače.
Poznámka
Komponenta časovače model Windows Forms je jednovláknová a je omezená na přesnost 55 milisekund. Pokud potřebujete vícevláknový časovač s větší přesností, použijte Timer třídu v System.Timers oboru názvů.
Konstruktory
Timer() |
Inicializuje novou instanci Timer třídy. |
Timer(IContainer) |
Inicializuje novou instanci Timer třídy společně se zadaným kontejnerem. |
Vlastnosti
CanRaiseEvents |
Získá hodnotu označující, zda komponenta může vyvolat událost. (Zděděno od Component) |
Container |
Získá objekt IContainer , který obsahuje Component. (Zděděno od Component) |
DesignMode |
Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component . (Zděděno od Component) |
Enabled |
Získá nebo nastaví, zda je časovač spuštěn. |
Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
Interval |
Získá nebo nastaví čas v milisekundách před Tick vyvoláním události vzhledem k poslednímu výskytu Tick události. |
Site |
Získá nebo nastaví ISite hodnotu Component. (Zděděno od Component) |
Tag |
Získá nebo nastaví libovolný řetězec představující určitý typ stavu uživatele. |
Metody
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
Dispose(Boolean) |
Odstraní jiné prostředky než paměť, které časovač používá. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jejím Containerobjektem . (Zděděno od Component) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
OnTick(EventArgs) |
Tick Vyvolá událost. |
Start() |
Spustí časovač. |
Stop() |
Zastaví časovač. |
ToString() |
Vrátí řetězec, který představuje Timer. |
Událost
Disposed |
Nastane, když je komponenta odstraněna voláním Dispose() metody. (Zděděno od Component) |
Tick |
Nastane, když uplynul zadaný interval časovače a časovač je povolen. |