2013-06-24 1 views
8

한 시간으로 변환 할 수 있습니다 구간 3600000와 타이머를 가지고, 그래서시작 직후 타이머를 실행 하시겠습니까?

timer.Start() 

을 할 때, 그것은 다음 시간부터 매 시간마다 아래 코드를 실행합니다

private void timer_Tick(object sender, EventArgs e) 
{ 
    ..... 
} 

하지만, 만약 내가 그것을 또한 두 번째 실행하기를 원한다면 나는 timer.Start()를 호출하고 매시간마다?

답변

10

가장 간단한 방법은 메소드를 호출하는 것입니다 : 이것은 효과적으로 "지금"이벤트를 시뮬레이션, 실제로 타이머를 트리거하지만 즉시 처리기를 호출하지 않습니다

timer.Start(); 
timer_Tick(null, EventArgs.Empty); // Simulate a timer tick event 

.

0

Start()를 호출 한 직후 함수를 수동으로 호출하면됩니다.

+0

잠깐이라도 잠을 자고있는 이유는 무엇입니까? – Servy

+0

수정 됨. 질문을 잘못 읽으십시오. – iefpw

1

나는 정확히 System.Threading.Timer을 알고 있습니다.

첫 번째 호출이 발생해야하는시기와 호출 사이의 간격을 지정할 수 있습니다.

그래서 첫 번째 호출을 0 밀리 초로 설정하고 시간 간격을 1 시간으로 설정하면 즉시 시작되고 매 시간마다 실행됩니다.

dueTime 유형 : 콜백 는 밀리 초 단위로 호출되기 전에 시간의 선택 System.Int32 양은 지연합니다. 타이머가 시작되지 않도록 Timeout.Infinite를 지정하십시오. 타이머를 즉시 시작하려면 0을 지정하십시오.

기간 형식 : System.Int32 콜백 호출 간격 (밀리 초)입니다. 주기적 신호를 사용하지 않으려면 Timeout.Infinite를 지정하십시오.

관련 문제