문제

그들의 실행 방법입니다 delegate 또는 event C#에서 초, 분, 시간, ... 시스템 클록에서 변경되는 경우, 시스템 클록이 변경되는지, 모든 밀리 초마다 타이머를 사용하여 속성이 변경되었는지 확인하고 최대 1 밀리 초의 지연으로 이벤트를 실행합니다.

따라서 피하고 싶습니다 투표 그리고 특정 시간에 이벤트를 해고하십시오.

도움이 되었습니까?

해결책

질문이있는 경우 : "1 초/시간마다 대의원을 어떻게 실행합니까?"

1 분 및 시간 간격 으로이 질문에서 내 대답에 표시된 것과 같은 작업을 수행 할 수 있습니다.

이것은 상당히 정확해야하지만 밀리 초에 정확하지는 않습니다.

두 번째 간격으로, 나는 단순한 1 초 간격의 타이머와 함께 갈 것입니다. 사용자의 관점에서 작업이 XX : XX : XX.000 또는 XX : XX : XX.350에서 실행하는 경우에는 큰 차이가 없다고 생각합니다.

다른 팁

구독 할 수 있습니다 SystemEvents.TimeChanged. 시스템 시계가 변경되면 발생합니다.

간격을 (1000 -dateTime.now.millisecond)로 설정하여 양식 앱으로 이것을 해결했습니다.

        _timer1 = new System.Windows.Forms.Timer();
        _timer1.Interval = (1000 - DateTime.Now.Millisecond);
        _timer1.Enabled = true;
        _timer1.Tick += new EventHandler(updateDisplayedTime);

이벤트 핸들러는 드리프트를 방지하기 위해 간격을 재설정합니다.

        <handle event>
        _timer1.Interval = (1000 - DateTime.Now.Millisecond);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top