나는 기능을 추가 할 VB.Net 2.0에서 기존 WinForms Mdi 응용 프로그램이 있습니다. 추가 사항 중 하나는 현재 시간이 지정된 값 (기한)에 근접 할 때 발생해야하는 경고입니다. 제 의도는 마감 시간까지 1 시간 미만이 될 때까지 한 시간에 한 번씩 시간을 확인한 다음 시간이 끝날 때까지 지정된 간격으로 경고를 표시하는 것입니다.어느 .Net 타이머()
사용자는 최종 기한까지 응용 프로그램을 계속 사용할 수 있어야하지만 주기적으로 기한 근접을 인식해야합니다.
앱은 아직 System.Threading을 사용하지 않고 있으며, 내 지식은 현재로서는 제한적입니다.
- 이 System.Threading.Timer(),
- Windows.Forms.Timer()와
- System.Timers.Timer() : 나는 3 개의 다른 타이머() 메소드가 있다는 것을 알고있다
제 질문은 이것이 가장 좋은 방법입니다. 스레드 타이머를 사용하려고했지만 WinForms 스레드 안전하지 않기 때문에 다른 클래스에 액세스하려고하면 런타임 오류가 발생했습니다. 클래스/폼 스레드를 안전하게 만드는 것이 가치가 있습니까? 나는 완전히 벗어 났는가?
감사합니다.
그것은 BTW, 스레드 윈폼에게 프로그래밍을 할 수도 있습니다. 메서드 호출이 폼과 같은 스레드에서 만들어지고 있는지 알아 내고, 그렇지 않은 경우에는 적절한 스레드로 디스패치하면됩니다. 그것은 실제보다 더 열심히 들립니다. –