누구나 Windows Forms 응용 프로그램에 시간 제한 기능을 구축하는 방법을 알고 있습니다.Windows 양식 응용 프로그램에서 '시간 초과'기능 설정
응용 프로그램은 이벤트에 의해 구동되지만, 어떻게 든 타이머를 사용하여 10 분 동안 카운트 다운을 생각하고 타이머 틱에서 사용자를 타임 아웃합니다.
문제는 마우스를 움직이거나 클릭 할 때마다 타이머를 어떻게 재설정 할 수 있습니까?
도움을 주시면 감사하겠습니다.
건배
누구나 Windows Forms 응용 프로그램에 시간 제한 기능을 구축하는 방법을 알고 있습니다.Windows 양식 응용 프로그램에서 '시간 초과'기능 설정
응용 프로그램은 이벤트에 의해 구동되지만, 어떻게 든 타이머를 사용하여 10 분 동안 카운트 다운을 생각하고 타이머 틱에서 사용자를 타임 아웃합니다.
문제는 마우스를 움직이거나 클릭 할 때마다 타이머를 어떻게 재설정 할 수 있습니까?
도움을 주시면 감사하겠습니다.
건배
System.Windows.Forms.Timer
을 사용할 수 있습니다.
도구 상자에서 디자이너 화면으로 끌어 놓을 수 있습니다.
속성 창을 사용하여 Interval
속성을 원하는 시간 범위 (밀리 초)로 설정하고 Enabled
속성을 false로 설정해야합니다.
for the load는 타이머 Enabled
을 true로 설정합니다.
(샘플의 이벤트 핸들러는 C# .NET을 사용하여 작성 - 미안)
private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = true; }
더블 이벤트에 등록하고, 타이머 틱
의 양식을 닫습니다 타이머 틱 이벤트를 클릭 보인다만큼 나쁜 private void timer1_Tick(object sender, EventArgs e) { Close(); }
timer.Interval을 0으로 설정하면 작동하지 않습니까?
Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Me.Timer1.Stop()
Me.Timer1.Start()
End Sub
, 나는 그것을위한 가장 좋은 방법은 기껏해야 몇 밀리 초 설정된 간격으로 system.timer 객체를 사용하는 것입니다 생각합니다.
내가 한 번 본 것은 전역 변수를 사용하여 마지막 작업 시간을 가져오고 작업이 수행 될 때마다 변수가 Now (예 : 전역 함수 사용)로 설정됩니다. 타이머 경과 이벤트에서 마지막 동작이 10 분 제한으로 커지면 그에 따라 작동하는지 확인합니다.
멀티 폼 앱의 경우 각 양식마다 다른 타이머를 사용하거나 메인 폼에서만 타이머를 실행할 수 있습니다.
희망이 있습니다.
모달 양식은 어떻게 작동합니까? –
만약 'modal'에 의해'ShowDialog'을 의미하고 메인 윈도우 ('Application.Run'에있는 것)에서이 코드를 구현하면 대답은 - 예입니다. 모든 모달 창이 닫힙니다. –
화려한, 고마워. –