アプリケーションが起動すると、Application.Idle
イベントのハンドラを作成します。また、10分間のタイマーであるオブジェクトを作成します。 Appliation.Idle
イベントは、イベントキューが空になるたびに発生します。マウスを動かすと、イベントが発生します。キーを押すと、イベントが発生します。 Application.Idle
とHandles
キーワードを使用することはできません。 Handles
は、ローカルでデカル化されたオブジェクトに対してのみ機能し、静的オブジェクトには機能しません。
Public Sub MainForm_Load(sender As Object, e As EventArgs) Handles MainForm.Load
AddHandler System.Windows.Forms.Application.Idle, AddressOf Application_Idle
' TODO: Create the 10-minute timer.
End Sub
Private Sub Application_Idle(sender As Object, e As EventArgs)
' TODO: Restart the 10-minute timer.
End Sub
' This assumes your TenMinuteTimer object has an Expire event. Do what works for you instead.
Private Sub TenMinuteTimer_Expire(sender As Object, e As EventArgs) Handles TenMinuteTimer.Expire
' TODO: Close the application safely.
End Sub
これで唯一の問題は、ユーザが長く、10分以上かかる行動を開始した場合、それはTenMinuteTimer.Expire
後Application.Idle
が発生しますです。これが起こることが予想される場合は、長期実行コードを実行する前にTenMinuteTimerを無効にしてから、再度有効にしてください。