Timer Timer Timer Timer Class

정의

사용자가 정의한 간격마다 이벤트를 발생시키는 타이머를 구현합니다.Implements a timer that raises an event at user-defined intervals. 이 타이머는 Windows Forms 응용 프로그램에서 사용할 수 있도록 최적화되었으며 창에서 사용해야 합니다.This timer is optimized for use in Windows Forms applications and must be used in a window.

public ref class Timer : System::ComponentModel::Component
public class Timer : System.ComponentModel.Component
type Timer = class
    inherit Component
Public Class Timer
Inherits Component
상속

예제

다음 예제에서는 5 초 마다 경보 off로 설정 하는 간단한 간격 타이머를 구현 합니다.The following example implements a simple interval timer, which sets off an alarm every five seconds. 경보가 발생 하면는 MessageBox 경보에서 시작 하 고 타이머를 계속 실행할 것인지 여부를 묻는 횟수의 수를 표시 합니다.When the alarm occurs, a MessageBox displays a count of the number of times the alarm has started and prompts the user as to whether the timer should continue to run.

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

설명

Timer 사용자가 정의한 간격 이벤트를 발생 시키는 데 사용 됩니다.A Timer is used to raise an event at user-defined intervals. 이 Windows 타이머 UI 스레드 처리 하는 데 사용 되는 위치를 단일 스레드 환경을 위해 설계 되었습니다.This Windows timer is designed for a single-threaded environment where UI threads are used to perform processing. 사용자 코드를 사용할 수 있는 UI 메시지 펌프 하 고 항상 동일한 스레드에서 작동 했거나 다른 스레드로 호출을 마샬링하 필요 합니다.It requires that the user code have a UI message pump available and always operate from the same thread, or marshal the call onto another thread.

사용 하 여이 타이머를 사용 하는 경우는 Tick 이벤트 폴링 작업을 수행 하거나 지정 된 기간에 대 한 시작 화면을 표시 합니다.When you use this timer, use the Tick event to perform a polling operation or to display a splash screen for a specified period of time. 때마다를 Enabled 속성이로 설정 되어 trueInterval 속성이 0 보다 크면를 Tick 기반으로 하는 간격 이벤트가 발생 합니다 Interval 속성 설정.Whenever the Enabled property is set to true and the Interval property is greater than zero, the Tick event is raised at intervals based on the Interval property setting.

이 클래스는 간격을 설정 하 고 시작 하 고 타이머를 중지 하는 메서드를 제공 합니다.This class provides methods to set the interval, and to start and stop the timer.

참고

Windows Forms Timer 구성 요소를 단일 스레드 이며 55 밀리초의 정확성으로 제한 됩니다.The Windows Forms Timer component is single-threaded, and is limited to an accuracy of 55 milliseconds. 큰 정확도 사용 하 여 다중 스레드 타이머를 필요한 경우 사용 합니다 Timer 클래스는 System.Timers 네임 스페이스.If you require a multithreaded timer with greater accuracy, use the Timer class in the System.Timers namespace.

생성자

Timer() Timer() Timer() Timer()

Timer 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Timer class.

Timer(IContainer) Timer(IContainer) Timer(IContainer) Timer(IContainer)

지정된 컨테이너를 사용하여 Timer 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Timer class together with the specified container.

속성

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

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

(Inherited from Component)
Container Container Container Container

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

(Inherited from Component)
DesignMode DesignMode DesignMode DesignMode

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

(Inherited from Component)
Enabled Enabled Enabled Enabled

타이머가 실행 중인지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets whether the timer is running.

Events Events Events Events

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

(Inherited from Component)
Interval Interval Interval Interval

Tick 이벤트의 마지막 발생을 기준으로 Tick 이벤트를 발생시킬 시간(밀리초)을 가져오거나 설정합니다.Gets or sets the time, in milliseconds, before the Tick event is raised relative to the last occurrence of the Tick event.

Site Site Site Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(Inherited from Component)
Tag Tag Tag Tag

사용자 상태의 일부 형식을 나타내는 임의의 문자열을 가져오거나 설정합니다.Gets or sets an arbitrary string representing some type of user state.

메서드

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

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

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

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

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

타이머에서 사용하는 리소스(메모리 제외)를 삭제합니다.Disposes of the resources, other than memory, used by the timer.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

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

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

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

(Inherited from Component)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

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

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
OnTick(EventArgs) OnTick(EventArgs) OnTick(EventArgs) OnTick(EventArgs)

Tick 이벤트를 발생시킵니다.Raises the Tick event.

Start() Start() Start() Start()

타이머를 시작합니다.Starts the timer.

Stop() Stop() Stop() Stop()

타이머를 중지합니다.Stops the timer.

ToString() ToString() ToString() ToString()

Timer를 나타내는 문자열을 반환합니다.Returns a string that represents the Timer.

이벤트

Disposed Disposed Disposed Disposed

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

(Inherited from Component)
Tick Tick Tick Tick

지정된 타이머 간격이 경과되고 타이머를 사용할 수 있을 때 발생합니다.Occurs when the specified timer interval has elapsed and the timer is enabled.

적용 대상