파일을 만들고 정기적으로 업데이트하고 확인할 필요가 없습니다. 당신은 타이머이 훨씬 쉽게 달성 할 수있다 : 당신이 모달 폼의 Close
메서드를 호출 할 때 Control.Invoke
을 채택 할 필요가 있으므로
var modalForm = new ModalForm();
var timer = new System.Timers.Timer(new TimeSpan(1, 0, 0).TotalMilliseconds);
timer.Elapsed += (s, ea) => { modalForm.Invoke(new MethodInvoker(modalForm.Close)); };
modalForm.Shown += (s, ea) => { timer.Start(); };
modalForm.FormClosed += (s, ea) => { timer.Stop(); };
modalForm.ShowDialog();
는 Timer.Elapsed
핸들러가 별도의 스레드에서 실행되고 있습니다. 간단히
var modalForm = new ModalForm();
var timer = new System.Timers.Timer(new TimeSpan(1, 0, 0).TotalMilliseconds);
timer.SynchronizingObject = modalForm;
timer.Elapsed += (s, ea) => { modalForm.Close(); };
modalForm.Shown += (s, ea) => { timer.Start(); };
modalForm.FormClosed += (s, ea) => { timer.Stop(); };
modalForm.ShowDialog();
왜 파일과 같은 방법을 시도 할 수 있습니다 또는 당신은
timer.SynchronizingObject
modalForm
에 설정할 수 있습니다? 왜 타이머를 사용하지 않습니까? –왜 그렇게해야합니까? –
예. 지금까지 뭔가 해봤습니까? 이 코드는 "나를위한 코드 작성"질문과 유사하기 때문에. – Alex