Advertisement
Guest User

Untitled

a guest
May 20th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. public class PauseClass
  2. {
  3. //(C) Michael Roberg
  4. //Please feel free to distribute this class but include my credentials.
  5.  
  6. // usage: var p = new PauseClass(); p.Pause(1000); // pause for 1 second
  7.  
  8. System.Timers.Timer pauseTimer = null;
  9.  
  10. public void BreakPause()
  11. {
  12. if (pauseTimer != null)
  13. {
  14. pauseTimer.Stop();
  15. pauseTimer.Enabled = false;
  16. }
  17. }
  18.  
  19. public bool Pause(int miliseconds)
  20. {
  21. ThreadPriority CurrentPriority = Thread.CurrentThread.Priority;
  22.  
  23. if (miliseconds > 0)
  24. {
  25. Thread.CurrentThread.Priority = ThreadPriority.Lowest;
  26.  
  27. pauseTimer = new System.Timers.Timer();
  28. pauseTimer.Elapsed += new ElapsedEventHandler(pauseTimer_Elapsed);
  29.  
  30. pauseTimer.Interval = miliseconds;
  31. pauseTimer.Enabled = true;
  32.  
  33. while (pauseTimer.Enabled)
  34. {
  35. Thread.Sleep(10);
  36. Application.DoEvents();
  37. //pausThread.Sleep(1);
  38. }
  39.  
  40. pauseTimer.Elapsed -= new ElapsedEventHandler(pauseTimer_Elapsed);
  41. }
  42.  
  43. Thread.CurrentThread.Priority = CurrentPriority;
  44.  
  45. return true;
  46. }
  47.  
  48. private void pauseTimer_Elapsed(object sender, ElapsedEventArgs e)
  49. {
  50. pauseTimer.Enabled = false;
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement