Timer.cs 918 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. namespace System.Windows.Forms
  2. {
  3. public class Timer : IDisposable
  4. {
  5. private System.Windows.Threading.DispatcherTimer timer;
  6. public int Interval
  7. {
  8. get => (int)timer.Interval.TotalMilliseconds;
  9. set => timer.Interval = TimeSpan.FromMilliseconds(value);
  10. }
  11. public bool Enabled
  12. {
  13. get => timer.IsEnabled;
  14. set => timer.IsEnabled = value;
  15. }
  16. public event EventHandler Tick;
  17. public void Start()
  18. {
  19. Enabled = true;
  20. }
  21. public void Stop()
  22. {
  23. Enabled = false;
  24. }
  25. public void Dispose()
  26. {
  27. Stop();
  28. }
  29. public Timer()
  30. {
  31. timer = new();
  32. timer.Tick += (sender, e) => Tick?.Invoke(this,e);
  33. }
  34. ~Timer()
  35. {
  36. Dispose();
  37. }
  38. }
  39. }