Timer 클래스

정의

반복 이벤트를 생성하는 옵션으로 설정된 간격 후 이벤트를 생성합니다.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
상속
구현

예제

다음 예제에서는 2 초 (2000 밀리초) 마다 Timer.Elapsed 이벤트를 발생 시키는 System.Timers.Timer 개체를 인스턴스화하고, 이벤트에 대 한 이벤트 처리기를 설정 하 고, 타이머를 시작 합니다.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. 이벤트 처리기는 발생 될 때마다 ElapsedEventArgs.SignalTime 속성의 값을 표시 합니다.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...

설명

Timer 구성 요소는 Interval 속성의 밀리초 수가 경과 된 후 응용 프로그램에서 Elapsed 이벤트를 발생 시키는 서버 기반 타이머입니다.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. Timer 개체를 구성 하 여 이벤트를 한 번만 발생 시키거나 AutoReset 속성을 사용 하 여 반복적으로 발생 시킬 수 있습니다.You can configure the Timer object to raise the event just once or repeatedly using the AutoReset property. 일반적으로 Timer 개체는 필요에 따라 범위 내에 유지 되도록 클래스 수준에서 선언 됩니다.Typically, a Timer object is declared at the class level so that it stays in scope as long as it is needed. 그런 다음 Elapsed 이벤트를 처리 하 여 일반 처리를 제공할 수 있습니다.You can then handle its Elapsed event to provide regular processing. 예를 들어, 유지 해야 하는 중요 한 서버가 있는 24 시간 내내 하루를 실행 합니다.For example, suppose you have a critical server that must be kept running 24 hours a day, 7 days a week. Timer 개체를 사용 하 여 서버를 주기적으로 확인 하 고 시스템이 실행 중인지 확인 하는 서비스를 만들 수 있습니다.You could create a service that uses a Timer object to periodically check the server and ensure that the system is up and running. 시스템이 응답 하지 않는 경우 서비스 서버를 다시 시작 하거나 관리자에 게 알리는를 시도할 수 있습니다.If the system is not responding, the service could attempt to restart the server or notify an administrator.

중요

Timer 클래스는 .NET Standard 1.6 및 하위 버전과 같은 모든 .NET 구현 및 버전에 사용할 수 없습니다.The Timer class is not available for all .NET implementations and versions, such as .NET Standard 1.6 and lower versions. 이 경우 System.Threading.Timer 클래스를 대신 사용할 수 있습니다.In these cases, you can use the System.Threading.Timer class instead.

이 형식이 구현 하는 IDisposable 인터페이스입니다.This type implements the IDisposable interface. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다.When you have finished using the type, you should dispose of it either directly or indirectly. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try/catch 블록입니다.To dispose of the type directly, call its Dispose method in a try/catch block. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

서버 기반 System.Timers.Timer 클래스는 다중 스레드 환경에서 작업자 스레드와 함께 사용 하도록 설계 되었습니다.The server-based System.Timers.Timer class is designed for use with worker threads in a multithreaded environment. 발생 한 처리 서버 타이머 스레드로 이동할 수 Elapsed 이벤트에 Windows 타이머 시간에 이벤트를 발생 시키는 것 보다 더 정확 합니다.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.Timer 구성 요소는 Interval 속성의 값 (밀리초)을 기반으로 Elapsed 이벤트를 발생 시킵니다.The System.Timers.Timer component raises the Elapsed event, based on the value (in milliseconds) of the Interval property. 처리 해야 하는 데이 이벤트를 처리할 수 있습니다.You can handle this event to perform the processing you need. 예를 들어, 판매 주문 데이터베이스에 지속적으로 게시 하는 온라인 판매 응용 프로그램이 있다고 가정 합니다.For example, suppose that you have an online sales application that continuously posts sales orders to a database. 전달에 대 한 지침을 컴파일되지 않는 서비스는 주문을 각 주문에 개별적으로 처리 하지 않고 일괄 처리에서 작동 합니다.The service that compiles the instructions for shipping operates on a batch of orders rather than processing each order individually. Timer를 사용 하 여 30 분 마다 일괄 처리를 시작할 수 있습니다.You could use a Timer to start the batch processing every 30 minutes.

중요

System.Timers.Timer 클래스 시스템 클록으로 동일한 해상도 가진 합니다.The System.Timers.Timer class has the same resolution as the system clock. 즉, Interval 속성이 시스템 클록의 해상도 보다 작은 경우에는 시스템 클록의 해상도에서 정의한 간격으로 Elapsed 이벤트가 발생 합니다.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. 자세한 내용은 Interval 속성을 참조하세요.For more information, see the Interval property.

AutoResetfalse로 설정 하면 System.Timers.Timer 개체는 첫 번째 Interval 경과 된 후에 Elapsed 이벤트를 한 번만 발생 시킵니다.When AutoReset is set to false, a System.Timers.Timer object raises the Elapsed event only once, after the first Interval has elapsed. Interval에서 정의한 간격으로 정기적으로 Elapsed 이벤트를 계속 발생 시키려면 AutoReset를 기본값인 true로 설정 합니다.To keep raising the Elapsed event regularly at the interval defined by the Interval, set AutoReset to true, which is the default value.

Timer 구성 요소는 Elapsed 이벤트의 이벤트 처리기에서 throw 되는 모든 예외를 catch 하 고 표시 하지 않습니다.The Timer component catches and suppresses all exceptions thrown by event handlers for the Elapsed event. 이 동작은.NET Framework의 이후 릴리스에서 변경 될 수 있습니다.This behavior is subject to change in future releases of the .NET Framework. 그러나이는 비동기적으로 실행 되 고 await 연산자 (in C#) 또는 Await 연산자 (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). 다음 예제와 같이 이러한 이벤트 처리기에서 throw 된 예외를 호출 스레드로 다시 전파 됩니다.Exceptions thrown in these event handlers are propagated back to the calling thread, as the following example illustrates. 비동기 메서드에서 throw 되는 예외에 대 한 자세한 내용은 예외 처리를 참조 하세요.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()

SynchronizingObject 속성이 null이면 ThreadPool 스레드에서 Elapsed 이벤트가 발생 합니다.If the SynchronizingObject property is null, the Elapsed event is raised on a ThreadPool thread. Elapsed 이벤트 처리가 Interval보다 오래 지속 되는 경우 다른 ThreadPool 스레드에서 이벤트가 다시 발생할 수 있습니다.If processing of the Elapsed event lasts longer than Interval, the event might be raised again on another ThreadPool thread. 이 경우 이벤트 처리기는 재진입 있어야 합니다.In this situation, the event handler should be reentrant.

참고

이벤트 처리 메서드는 다른 스레드가 Stop 메서드를 호출 하거나 Enabled 속성을 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. 이로 인해 타이머가 중지 된 후 Elapsed 이벤트가 발생할 수 있습니다.This might result in the Elapsed event being raised after the timer is stopped. Stop 메서드에 대 한 예제 코드는 경합 상태를 방지 하는 한 가지 방법을 보여 줍니다.The example code for the Stop method shows one way to avoid this race condition.

SynchronizingObject null되지 않은 경우에도 Stop 이벤트를 발생 시키는 신호는 항상 스레드 풀 스레드의 실행을 위해 큐에 대기 하므로 Dispose 또는 Enabled 메서드를 호출한 후 또는 false속성이 Elapsed로 설정 된 후에 Elapsed 이벤트가 발생할 수 있습니다.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. 이 경합 상태를 해결 하는 한 가지 방법은 다음 이벤트를 무시 하도록 Elapsed 이벤트에 대 한 이벤트 처리기에 지시 하는 플래그를 설정 하는 것입니다.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.

사용자 인터페이스 요소에 타이머를 배치 하지 않고 폼 이나 컨트롤 등의 사용자 인터페이스 요소와 함께 System.Timers.Timer 클래스를 사용 하는 경우, Timer를 포함 하는 폼 이나 컨트롤을 SynchronizingObject 속성에 할당 하 여 이벤트가 사용자 인터페이스 스레드로 마샬링되어야 합니다.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.

Timer인스턴스에 대 한 기본 속성 값 목록은 Timer 생성자를 참조 하세요.For a list of default property values for an instance of Timer, see the Timer constructor.

.NET에는 각각 서로 다른 기능을 제공 하는 Timer라는 네 개의 클래스가 포함 되어 있습니다.Be aware that .NET includes four classes named Timer, each of which offers different functionality:

  • System.Timers.Timer (이 항목): 정기적으로 이벤트를 발생 시킵니다.System.Timers.Timer (this topic): fires an event at regular intervals. 클래스는 다중 스레드 환경에서 서비스 구성 요소 또는 서버를 기반으로 사용 하기 위한 것 사용자 인터페이스가 없는 하 고 런타임 시 표시 되지 않습니다.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: 정기적으로 스레드 풀 스레드에서 단일 콜백 메서드를 실행 합니다.System.Threading.Timer: executes a single callback method on a thread pool thread at regular intervals. 타이머 인스턴스화되고 변경할 수 없는 경우 콜백 메서드가 정의 됩니다.The callback method is defined when the timer is instantiated and cannot be changed. System.Timers.Timer 클래스와 마찬가지로이 클래스는 다중 스레드 환경에서 서버 기반 또는 서비스 구성 요소로 사용 하기 위한 것입니다. 사용자 인터페이스가 없으며 런타임에 표시 되지 않습니다.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 (.NET Framework에만 해당): 정기적으로 이벤트를 발생 시키는 Windows Forms 구성 요소입니다.System.Windows.Forms.Timer (.NET Framework only): a Windows Forms component that fires an event at regular intervals. 이 구성 요소에는 사용자 인터페이스가 없으며, 단일 스레드 환경에서 사용하도록 설계되었습니다.The component has no user interface and is designed for use in a single-threaded environment.
  • System.Web.UI.Timer (.NET Framework에만 해당): 정기적으로 비동기 또는 동기 웹 페이지 포스트백을 수행 하는 ASP.NET 구성 요소입니다.System.Web.UI.Timer (.NET Framework only): an ASP.NET component that performs asynchronous or synchronous web page postbacks at a regular interval.

생성자

Timer()

Timer 클래스의 새 인스턴스를 초기화하고 모든 속성을 각각의 초기 값으로 설정합니다.Initializes a new instance of the Timer class, and sets all the properties to their initial values.

Timer(Double)

Timer 클래스의 새 인스턴스를 초기화하고 Interval 속성을 지정된 시간(밀리초)으로 설정합니다.Initializes a new instance of the Timer class, and sets the Interval property to the specified number of milliseconds.

속성

AutoReset

Timer에서 Elapsed 이벤트를 한 번만(false) 발생시켜야 하는지 반복해서(true) 발생시켜야 하는지 나타내는 부울을 가져오거나 설정합니다.Gets or sets a Boolean indicating whether the Timer should raise the Elapsed event only once (false) or repeatedly (true).

CanRaiseEvents

구성 요소 이벤트를 발생 시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(다음에서 상속됨 Component)
Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(다음에서 상속됨 Component)
DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(다음에서 상속됨 Component)
Enabled

Timer에서 Elapsed 이벤트를 발생시켜야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the Timer should raise the Elapsed event.

Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(다음에서 상속됨 Component)
Interval

Elapsed 이벤트를 발생시킬 간격(밀리초)을 가져오거나 설정합니다.Gets or sets the interval, expressed in milliseconds, at which to raise the Elapsed event.

Site

디자인 모드에서 Timer를 컨테이너에 바인딩하는 사이트를 가져오거나 설정합니다.Gets or sets the site that binds the Timer to its container in design mode.

SynchronizingObject

시간 간격이 경과할 때 발행되는 이벤트 처리기 호출을 마샬링하는 데 사용되는 개체를 가져오거나 설정합니다.Gets or sets the object used to marshal event-handler calls that are issued when an interval has elapsed.

메서드

BeginInit()

폼에 사용되거나 다른 구성 요소에서 사용하는 Timer의 런타임 초기화를 시작합니다.Begins the run-time initialization of a Timer that is used on a form or by another component.

Close()

Timer에서 사용하는 리소스를 해제합니다.Releases the resources used by the Timer.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

Component에서 사용한 모든 리소스를 해제합니다.Releases all resources used by the Component.

(다음에서 상속됨 Component)
Dispose(Boolean)

현재 Timer에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the current Timer.

EndInit()

폼에 사용되거나 다른 구성 요소에서 사용하는 Timer의 런타임 초기화를 마칩니다.Ends the run-time initialization of a Timer that is used on a form or by another component.

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(다음에서 상속됨 MarshalByRefObject)
Start()

ElapsedEnabled로 설정하여 true 이벤트를 발생시킵니다.Starts raising the Elapsed event by setting Enabled to true.

Stop()

ElapsedEnabled로 설정하여 false 이벤트 발생을 중지합니다.Stops raising the Elapsed event by setting Enabled to false.

ToString()

String의 이름이 포함된 Component을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(다음에서 상속됨 Component)

이벤트

Disposed

Dispose() 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(다음에서 상속됨 Component)
Elapsed

간격이 경과하면 발생합니다.Occurs when the interval elapses.

적용 대상

스레드 보안

모든 공용 static 이 형식의 멤버는 스레드로부터 안전 합니다.Any public static members of this type are thread safe. 인스턴스 멤버는 스레드로부터의 안전이 보장되지 않습니다.Any instance members are not guaranteed to be thread safe.

추가 정보