2012-11-30 1 views
2

C++ .net 타이머 사용 방법을 배우려고합니다. 그것이 말하는 코드에서C++ .net 타이머에서 사용할 때 더하기 기호는 무엇입니까

http://msdn.microsoft.com/en-us/library/system.timers.timer.elapsed.aspx

: 여기에 주어진 예에서

// Hook up the Elapsed event for the timer. 
aTimer->Elapsed += gcnew ElapsedEventHandler(Timer1::OnTimedEvent); 

그것은 + = 것은 과부하 보인다. 이런 맥락에서 무엇을 의미합니까?

The Elapsed event was raised at 5/20/2007 8:42:27 PM 
The Elapsed event was raised at 5/20/2007 8:42:29 PM 
The Elapsed event was raised at 5/20/2007 8:42:31 PM 

나의 이해에서 그냥 시작하고 한 번 중단해야합니다 : 자신의 출력과 같이

또한 내가 링크의 예에서, 타이머가 시작되고 반복적으로 중지 이유를 이해 해달라고.

+0

C++ 태그를 C++ - cli로 변경했습니다. 위의 코드는 유효하지 않습니다 C++, C++ 만 - cli –

답변

4

타이머의 Elapsed 이벤트에 이벤트 처리기를 추가하고 있습니다. 이러한 기능이 있다면

aTimer->Elapsed.AddHandler(gcnew ElapsedEventHandler(Timer1::OnTimedEvent)); 

:

그것은 같은 유사 할 것입니다.

ElapsedEventHandler의 생성자에 지정된 함수는 타이머에 의해 호출되어 설정 시간이 경과되었음을 사용자에게 알립니다. 두 번째 질문을 참조에서

는 문서의 첫 번째 단락은 설명 : true로 설정하고 자동 리셋 false로 설정 가능하면

, 타이머 한 번만 경과 이벤트를 발생의 처음으로 간격은 입니다.

분명히 논리적으로 동일한 문은 다음과 같습니다. AutoReset이 true로 설정되면 Timer는 Elapsed 이벤트를 무기한 발생시킵니다.

또한 AutoReset을 false로 설정하고 이벤트 처리기 내에서 Reset() 함수를 호출 할 수 있습니다. 이렇게하면 타이머 콜백이 겹치지 않도록 할 수 있습니다.

+0

답변 주셔서 감사합니다. 죄송 합니다만 일부 수정했습니다. 내 질문의 두 번째 부분에 대한 답을 알고 있습니까? –

+0

@dr_rk : 설명에 : 'Enabled가 true로 설정되고 AutoReset이 false로 설정되면 Timer는 처음으로 간격이 경과 할 때 Elapsed 이벤트를 한 번만 발생시킵니다.' – vines

+0

답변에 정말 감사드립니다! –

관련 문제