mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-10-01 17:47:55 +13:00
42 lines
919 B
C#
42 lines
919 B
C#
|
using System;
|
|||
|
using SystemTrayMenu.Utilities;
|
|||
|
using Timer = System.Windows.Forms.Timer;
|
|||
|
|
|||
|
namespace SystemTrayMenu.Handler
|
|||
|
{
|
|||
|
internal class WaitLeave : IDisposable
|
|||
|
{
|
|||
|
public event EventHandlerEmpty LeaveTriggered;
|
|||
|
|
|||
|
private readonly Timer timerLeaveCheck = new Timer();
|
|||
|
|
|||
|
public WaitLeave(int timeUntilTriggered)
|
|||
|
{
|
|||
|
timerLeaveCheck.Interval = timeUntilTriggered;
|
|||
|
timerLeaveCheck.Tick += Leave;
|
|||
|
}
|
|||
|
|
|||
|
public void Start()
|
|||
|
{
|
|||
|
timerLeaveCheck.Stop();
|
|||
|
timerLeaveCheck.Start();
|
|||
|
}
|
|||
|
|
|||
|
public void Stop()
|
|||
|
{
|
|||
|
timerLeaveCheck.Stop();
|
|||
|
}
|
|||
|
|
|||
|
private void Leave(object sender, EventArgs e)
|
|||
|
{
|
|||
|
timerLeaveCheck.Stop();
|
|||
|
LeaveTriggered.Invoke();
|
|||
|
}
|
|||
|
|
|||
|
public void Dispose()
|
|||
|
{
|
|||
|
timerLeaveCheck.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|