Timer Klasa

Definicja

Generuje zdarzenie po określonym interwale z opcją generowania zdarzeń cyklicznych.Generates an event after a set interval, with an option to generate recurring events.

public ref class Timer : System::ComponentModel::Component, System::ComponentModel::ISupportInitialize
public class Timer : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
type Timer = class
    inherit Component
    interface ISupportInitialize
Public Class Timer
Inherits Component
Implements ISupportInitialize
Dziedziczenie
Implementuje

Przykłady

Poniższy przykład tworzy wystąpienie System.Timers.Timer obiektu, który uruchamia jego Timer.Elapsed zdarzenie co dwie sekundy (2 000 milisekund), konfiguruje procedurę obsługi zdarzeń dla zdarzenia i uruchamia czasomierz.The following example instantiates a System.Timers.Timer object that fires its Timer.Elapsed event every two seconds (2,000 milliseconds), sets up an event handler for the event, and starts the timer. Program obsługi zdarzeń wyświetla wartość ElapsedEventArgs.SignalTime właściwości przy każdym wygenerowanym czasie.The event handler displays the value of the ElapsedEventArgs.SignalTime property each time it is raised.

using System;
using System.Timers;

public class Example
{
   private static System.Timers.Timer aTimer;
   
   public static void Main()
   {
      SetTimer();

      Console.WriteLine("\nPress the Enter key to exit the application...\n");
      Console.WriteLine("The application started at {0:HH:mm:ss.fff}", DateTime.Now);
      Console.ReadLine();
      aTimer.Stop();
      aTimer.Dispose();
      
      Console.WriteLine("Terminating the application...");
   }

   private static void SetTimer()
   {
        // Create a timer with a two second interval.
        aTimer = new System.Timers.Timer(2000);
        // Hook up the Elapsed event for the timer. 
        aTimer.Elapsed += OnTimedEvent;
        aTimer.AutoReset = true;
        aTimer.Enabled = true;
    }

    private static void OnTimedEvent(Object source, ElapsedEventArgs e)
    {
        Console.WriteLine("The Elapsed event was raised at {0:HH:mm:ss.fff}",
                          e.SignalTime);
    }
}
// The example displays output like the following:
//       Press the Enter key to exit the application...
//
//       The application started at 09:40:29.068
//       The Elapsed event was raised at 09:40:31.084
//       The Elapsed event was raised at 09:40:33.100
//       The Elapsed event was raised at 09:40:35.100
//       The Elapsed event was raised at 09:40:37.116
//       The Elapsed event was raised at 09:40:39.116
//       The Elapsed event was raised at 09:40:41.117
//       The Elapsed event was raised at 09:40:43.132
//       The Elapsed event was raised at 09:40:45.133
//       The Elapsed event was raised at 09:40:47.148
//
//       Terminating the application...
Imports System.Timers

Public Module Example
    Private aTimer As System.Timers.Timer

    Public Sub Main()
        SetTimer()

      Console.WriteLine("{0}Press the Enter key to exit the application...{0}",
                        vbCrLf)
      Console.WriteLine("The application started at {0:HH:mm:ss.fff}",
                        DateTime.Now)
      Console.ReadLine()
      aTimer.Stop()
      aTimer.Dispose()

      Console.WriteLine("Terminating the application...")
    End Sub

    Private Sub SetTimer()
        ' Create a timer with a two second interval.
        aTimer = New System.Timers.Timer(2000)
        ' Hook up the Elapsed event for the timer. 
        AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
        aTimer.AutoReset = True
        aTimer.Enabled = True
    End Sub

    ' The event handler for the Timer.Elapsed event. 
    Private Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
        Console.WriteLine("The Elapsed event was raised at {0:HH:mm:ss.fff}",
                          e.SignalTime)
    End Sub 
End Module
' The example displays output like the following:
'       Press the Enter key to exit the application...
'
'       The application started at 09:40:29.068
'       The Elapsed event was raised at 09:40:31.084
'       The Elapsed event was raised at 09:40:33.100
'       The Elapsed event was raised at 09:40:35.100
'       The Elapsed event was raised at 09:40:37.116
'       The Elapsed event was raised at 09:40:39.116
'       The Elapsed event was raised at 09:40:41.117
'       The Elapsed event was raised at 09:40:43.132
'       The Elapsed event was raised at 09:40:45.133
'       The Elapsed event was raised at 09:40:47.148
'
'       Terminating the application...

Uwagi

TimerSkładnik jest czasomierzem opartym na serwerze, który wywołuje Elapsed zdarzenie w aplikacji po upływie liczby milisekund we Interval właściwości.The Timer component is a server-based timer that raises an Elapsed event in your application after the number of milliseconds in the Interval property has elapsed. Można skonfigurować obiekt, Timer Aby zgłosić zdarzenie tylko raz lub wielokrotnie przy użyciu AutoReset właściwości.You can configure the Timer object to raise the event just once or repeatedly using the AutoReset property. Zazwyczaj Timer obiekt jest zadeklarowany na poziomie klasy, dzięki czemu pozostaje w zakresie, o ile jest to konieczne.Typically, a Timer object is declared at the class level so that it stays in scope as long as it is needed. Następnie można obsłużyć Elapsed zdarzenie, aby zapewnić regularne przetwarzanie.You can then handle its Elapsed event to provide regular processing. Załóżmy na przykład, że masz krytyczny serwer, który musi być uruchomiony przez 24 godziny dziennie, 7 dni w tygodniu.For example, suppose you have a critical server that must be kept running 24 hours a day, 7 days a week. Można utworzyć usługę, która używa obiektu, Timer aby okresowo sprawdzać serwer i upewnić się, że system działa.You could create a service that uses a Timer object to periodically check the server and ensure that the system is up and running. Jeśli system nie odpowiada, usługa może spróbować ponownie uruchomić serwer lub powiadomić administratora.If the system is not responding, the service could attempt to restart the server or notify an administrator.

Ważne

TimerKlasa nie jest dostępna dla wszystkich implementacji i wersji platformy .NET, takich jak .NET Standard 1,6 i niższych wersjach.The Timer class is not available for all .NET implementations and versions, such as .NET Standard 1.6 and lower versions. W takich przypadkach można użyć System.Threading.Timer klasy.In these cases, you can use the System.Threading.Timer class instead.

Ten typ implementuje IDisposable interfejs.This type implements the IDisposable interface. Po zakończeniu korzystania z typu należy usunąć jego wartość bezpośrednio lub pośrednio.When you have finished using the type, you should dispose of it either directly or indirectly. Aby usunąć typ bezpośrednio, wywołaj jego Dispose metodę w try / catch bloku.To dispose of the type directly, call its Dispose method in a try/catch block. Aby usunąć go pośrednio, użyj konstrukcji języka, takiej jak using (w języku C#) lub Using (w Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Aby uzyskać więcej informacji, zobacz sekcję "Używanie obiektu implementującego interfejs IDisposable" w temacie dotyczącym IDisposable interfejsu.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Klasa oparta na serwerze System.Timers.Timer jest przeznaczona do użycia z wątkami roboczymi w środowisku wielowątkowym.The server-based System.Timers.Timer class is designed for use with worker threads in a multithreaded environment. Czasomierze serwera mogą poruszać się między wątkami w celu obsługi zdarzenia zgłoszonego Elapsed , co skutkuje większą dokładnością niż czasomierze systemu Windows podczas podnoszenia zdarzenia w czasie.Server timers can move among threads to handle the raised Elapsed event, resulting in more accuracy than Windows timers in raising the event on time.

System.Timers.TimerSkładnik zgłasza Elapsed zdarzenie, na podstawie wartości (w milisekundach) Interval właściwości.The System.Timers.Timer component raises the Elapsed event, based on the value (in milliseconds) of the Interval property. To zdarzenie można obsłużyć w celu przeprowadzenia przetwarzania, którego potrzebujesz.You can handle this event to perform the processing you need. Załóżmy na przykład, że masz aplikację sprzedaży online, która ciągle zapisuje zamówienia sprzedaży do bazy danych.For example, suppose that you have an online sales application that continuously posts sales orders to a database. Usługa, która kompiluje instrukcje do wysyłki, działa na partii zamówień zamiast przetwarzania poszczególnych zamówień indywidualnie.The service that compiles the instructions for shipping operates on a batch of orders rather than processing each order individually. Można użyć, Timer Aby rozpocząć przetwarzanie wsadowe co 30 minut.You could use a Timer to start the batch processing every 30 minutes.

Ważne

Klasa System. Timers. czasomierz ma takie samo rozwiązanie jak zegar systemowy.The System.Timers.Timer class has the same resolution as the system clock. Oznacza to, że Elapsed zdarzenie zostanie wyzwolone w interwale zdefiniowanym przez rozwiązanie zegara systemowego, jeśli Interval Właściwość jest mniejsza niż rozdzielczość zegara systemowego.This means that the Elapsed event will fire at an interval defined by the resolution of the system clock if the Interval property is less than the resolution of the system clock. Aby uzyskać więcej informacji, zobacz Interval Właściwość.For more information, see the Interval property.

Gdy AutoReset jest ustawiona na false , System.Timers.Timer obiekt zgłasza Elapsed zdarzenie tylko raz, po Interval upływie pierwszego czasu.When AutoReset is set to false, a System.Timers.Timer object raises the Elapsed event only once, after the first Interval has elapsed. Aby zachować regularne generowanie Elapsed zdarzenia w interwale zdefiniowanym przez Interval , ustaw AutoReset na true wartość, która jest wartością domyślną.To keep raising the Elapsed event regularly at the interval defined by the Interval, set AutoReset to true, which is the default value.

TimerSkładnik przechwytuje i pomija wszystkie wyjątki zgłoszone przez programy obsługi zdarzeń dla Elapsed zdarzenia.The Timer component catches and suppresses all exceptions thrown by event handlers for the Elapsed event. Takie zachowanie może ulec zmianie w przyszłych wersjach .NET Framework.This behavior is subject to change in future releases of the .NET Framework. Należy jednak zauważyć, że nie jest to prawdą dla programów obsługi zdarzeń, które wykonują asynchronicznie i zawierają await operator (w języku C#) lub Await operator (w Visual Basic).Note, however, that this is not true of event handlers that execute asynchronously and include the await operator (in C#) or the Await operator (in Visual Basic). Wyjątki zgłoszone w tych obsłudze zdarzeń są propagowane z powrotem do wywołującego wątku, jak pokazano w poniższym przykładzie.Exceptions thrown in these event handlers are propagated back to the calling thread, as the following example illustrates. Aby uzyskać więcej informacji na temat wyjątków zgłoszonych w metodach asynchronicznych, zobacz Obsługa wyjątków.For more information on exceptions thrown in asynchronous methods, see Exception Handling.

using System;
using System.Threading.Tasks;
using System.Timers;

class Example
{
   static void Main()
   {
      Timer timer = new Timer(1000);
      timer.Elapsed += async ( sender, e ) => await HandleTimer();
      timer.Start();
      Console.Write("Press any key to exit... ");
      Console.ReadKey();
   }

   private static Task HandleTimer()
   {
     Console.WriteLine("\nHandler not implemented..." );
     throw new NotImplementedException();
   }
}
// The example displays output like the following:
//   Press any key to exit...
//   Handler not implemented...
//   
//   Unhandled Exception: System.NotImplementedException: The method or operation is not implemented.
//      at Example.HandleTimer()
//      at Example.<<Main>b__0>d__2.MoveNext()
//   --- End of stack trace from previous location where exception was thrown ---
//      at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c__DisplayClass2.<ThrowAsync>b__5(Object state)
//      at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
//      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
//      at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
//      at System.Threading.ThreadPoolWorkQueue.Dispatch()
Imports System.Threading.Tasks
Imports System.Timers

Public Module Example
   Public Sub Main()
      Dim timer As New Timer(1000)  
      AddHandler timer.Elapsed, AddressOf Example.HandleTimer     
      'timer.Elapsed = Async ( sender, e ) => await HandleTimer()
      timer.Start()
      Console.Write("Press any key to exit... ")
      Console.ReadKey()
   End Sub

   Private Async Sub HandleTimer(sender As Object, e As EventArgs)
      Await Task.Run(Sub()
                        Console.WriteLine()
                        Console.WriteLine("Handler not implemented..." )
                        Throw New NotImplementedException()
                     End Sub)   
   End Sub
End Module
' The example displays output like the following:
'   Press any key to exit...
'   Handler not implemented...
'   
'   Unhandled Exception: System.NotImplementedException: The method or operation is not implemented.
'      at Example._Lambda$__1()
'      at System.Threading.Tasks.Task.Execute()
'   --- End of stack trace from previous location where exception was thrown ---
'      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
'      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
'      at Example.VB$StateMachine_0_HandleTimer.MoveNext()
'   --- End of stack trace from previous location where exception was thrown ---
'      at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c__DisplayClass2.<ThrowAsync>b__5(Object state)
'      at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
'      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
'      at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
'      at System.Threading.ThreadPoolWorkQueue.Dispatch()

Jeśli SynchronizingObject Właściwość ma wartość null , Elapsed zdarzenie jest zgłaszane w ThreadPool wątku.If the SynchronizingObject property is null, the Elapsed event is raised on a ThreadPool thread. Jeśli przetwarzanie zdarzenia trwa Elapsed dłużej niż Interval , zdarzenie może zostać zgłoszone ponownie w innym ThreadPool wątku.If processing of the Elapsed event lasts longer than Interval, the event might be raised again on another ThreadPool thread. W takiej sytuacji procedura obsługi zdarzeń powinna być współużytkowana.In this situation, the event handler should be reentrant.

Uwaga

Metoda obsługi zdarzeń może być uruchamiana w jednym wątku w tym samym czasie, w którym inny wątek wywołuje Stop metodę lub ustawia Enabled Właściwość na false .The event-handling method might run on one thread at the same time that another thread calls the Stop method or sets the Enabled property to false. Może to spowodować, że Elapsed zdarzenie zostanie wywołane po zatrzymaniu czasomierza.This might result in the Elapsed event being raised after the timer is stopped. Przykładowy kod dla Stop metody pokazuje jeden ze sposobów, aby uniknąć tego warunku wyścigu.The example code for the Stop method shows one way to avoid this race condition.

Nawet jeśli SynchronizingObject nie jest null , Elapsed zdarzenia mogą wystąpić po Dispose Stop wywołaniu metody lub, lub po Enabled ustawieniu właściwości na false , ponieważ sygnał do wywołania Elapsed zdarzenia jest zawsze umieszczony w kolejce do wykonania w wątku puli wątków.Even if SynchronizingObject is not null, Elapsed events can occur after the Dispose or Stop method has been called or after the Enabled property has been set to false, because the signal to raise the Elapsed event is always queued for execution on a thread pool thread. Jednym ze sposobów na rozwiązanie tego warunku wyścigu jest ustawienie flagi, która instruuje procedurę obsługi zdarzeń, Elapsed aby ignorować kolejne zdarzenia.One way to resolve this race condition is to set a flag that tells the event handler for the Elapsed event to ignore subsequent events.

Jeśli używasz System.Timers.Timer klasy z elementem interfejsu użytkownika, takim jak formularz lub kontrolka, bez umieszczania czasomierza tego elementu interfejsu użytkownika, przypisz formularz lub kontrolkę zawierającą Timer do SynchronizingObject właściwości, tak aby zdarzenie było organizowane w wątku interfejsu użytkownika.If you use the System.Timers.Timer class with a user interface element, such as a form or control, without placing the timer on that user interface element, assign the form or control that contains the Timer to the SynchronizingObject property, so that the event is marshaled to the user interface thread.

Aby uzyskać listę domyślnych wartości właściwości dla wystąpienia Timer , zobacz Timer Konstruktor.For a list of default property values for an instance of Timer, see the Timer constructor.

Porada

Należy pamiętać, że platforma .NET zawiera cztery klasy o nazwie Timer , z których każda oferuje różne funkcje:Be aware that .NET includes four classes named Timer, each of which offers different functionality:

  • System.Timers.Timer (w tym temacie): uruchamia zdarzenie w regularnych odstępach czasu.System.Timers.Timer (this topic): fires an event at regular intervals. Klasa jest przeznaczona do użycia jako składnik serwera lub usługi w środowisku wielowątkowym. nie ma interfejsu użytkownika i nie jest widoczny w czasie wykonywania.The class is intended for use as a server-based or service component in a multithreaded environment; it has no user interface and is not visible at runtime.
  • System.Threading.Timer: wykonuje pojedynczą metodę wywołania zwrotnego w wątku puli wątków w regularnych odstępach czasu.System.Threading.Timer: executes a single callback method on a thread pool thread at regular intervals. Metoda wywołania zwrotnego jest definiowana podczas tworzenia wystąpienia czasomierza i nie można jej zmienić.The callback method is defined when the timer is instantiated and cannot be changed. Podobnie jak w przypadku System.Timers.Timer klasy, ta klasa jest przeznaczona do użycia jako składnik serwera lub usługi w środowisku wielowątkowym. nie ma interfejsu użytkownika i nie jest widoczna w czasie wykonywania.Like the System.Timers.Timer class, this class is intended for use as a server-based or service component in a multithreaded environment; it has no user interface and is not visible at runtime.
  • System.Windows.Forms.Timer (Tylko .NET Framework): składnik Windows Forms, który uruchamia zdarzenie w regularnych odstępach czasu.System.Windows.Forms.Timer (.NET Framework only): a Windows Forms component that fires an event at regular intervals. Składnik nie ma interfejsu użytkownika i jest przeznaczony do użytku w środowisku jednowątkowym.The component has no user interface and is designed for use in a single-threaded environment.
  • System.Web.UI.Timer (Tylko .NET Framework): składnik ASP.NET, który wykonuje asynchroniczne lub synchroniczne ogłaszanie stron sieci Web w regularnych odstępach czasu.System.Web.UI.Timer (.NET Framework only): an ASP.NET component that performs asynchronous or synchronous web page postbacks at a regular interval.

Konstruktory

Timer()

Inicjuje nowe wystąpienie Timer klasy i ustawia wszystkie właściwości na ich wartości początkowe.Initializes a new instance of the Timer class, and sets all the properties to their initial values.

Timer(Double)

Inicjuje nowe wystąpienie Timer klasy i ustawia Interval Właściwość na określoną liczbę milisekund.Initializes a new instance of the Timer class, and sets the Interval property to the specified number of milliseconds.

Właściwości

AutoReset

Pobiera lub ustawia wartość logiczną wskazującą, czy Timer zdarzenie powinno zostać zgłoszone Elapsed tylko raz ( false ), czy wielokrotnie ( true ).Gets or sets a Boolean indicating whether the Timer should raise the Elapsed event only once (false) or repeatedly (true).

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.Gets a value indicating whether the component can raise an event.

(Odziedziczone po Component)
Container

Pobiera IContainer , który zawiera Component .Gets the IContainer that contains the Component.

(Odziedziczone po Component)
DesignMode

Pobiera wartość wskazującą, czy Component jest aktualnie w trybie projektowania.Gets a value that indicates whether the Component is currently in design mode.

(Odziedziczone po Component)
Enabled

Pobiera lub ustawia wartość wskazującą, czy Timer zdarzenie powinno zostać zgłoszone Elapsed .Gets or sets a value indicating whether the Timer should raise the Elapsed event.

Events

Pobiera listę programów obsługi zdarzeń, które są dołączone do tego elementu Component .Gets the list of event handlers that are attached to this Component.

(Odziedziczone po Component)
Interval

Pobiera lub ustawia interwał wyrażony w milisekundach, w którym ma zostać zgłoszone Elapsed zdarzenie.Gets or sets the interval, expressed in milliseconds, at which to raise the Elapsed event.

Site

Pobiera lub ustawia lokację, która wiąże się z Timer kontenerem w trybie projektowania.Gets or sets the site that binds the Timer to its container in design mode.

SynchronizingObject

Pobiera lub ustawia obiekt używany do organizowania wywołań obsługi zdarzeń, które są wydawane po upłynięciu interwału.Gets or sets the object used to marshal event-handler calls that are issued when an interval has elapsed.

Metody

BeginInit()

Rozpoczyna inicjalizację w czasie wykonywania Timer , która jest używana w formularzu lub przez inny składnik.Begins the run-time initialization of a Timer that is used on a form or by another component.

Close()

Zwalnia zasoby używane przez program Timer .Releases the resources used by the Timer.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.Releases all resources used by the Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia wszystkie zasoby używane przez bieżące Timer .Releases all resources used by the current Timer.

EndInit()

Zakończenie inicjacji w czasie wykonywania Timer , która jest używana w formularzu lub przez inny składnik.Ends the run-time initialization of a Timer that is used on a form or by another component.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczoną przez Component lub przez Container .Returns an object that represents a service provided by the Component or by its Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
Start()

Uruchamia podnoszenie poziomu Elapsed zdarzenia przez ustawienie Enabled do true .Starts raising the Elapsed event by setting Enabled to true.

Stop()

Powoduje zatrzymanie wywoływania Elapsed zdarzenia przez ustawienie Enabled do false .Stops raising the Elapsed event by setting Enabled to false.

ToString()

Zwraca wartość String zawierającą nazwę Component (jeśli istnieje).Returns a String containing the name of the Component, if any. Ta metoda nie powinna być przesłaniana.This method should not be overridden.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik zostanie usunięty przez wywołanie Dispose() metody.Occurs when the component is disposed by a call to the Dispose() method.

(Odziedziczone po Component)
Elapsed

Występuje po upłynięciu interwału.Occurs when the interval elapses.

Dotyczy

Bezpieczeństwo wątkowe

Wszystkie publiczne static elementy członkowskie tego typu są bezpieczne wątkowo.Any public static members of this type are thread safe. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.Any instance members are not guaranteed to be thread safe.

Zobacz też