Laden...

Wie implementiere ich einen Random Timer?

Erstellt von Bunnychecker vor 13 Jahren Letzter Beitrag vor 13 Jahren 960 Views
B
Bunnychecker Themenstarter:in
224 Beiträge seit 2009
vor 13 Jahren
Wie implementiere ich einen Random Timer?

Hi.

Wenn ich einen Random Timer in einer Winform Application implementieren möchte, der sich bei 0 Sekunden aufruft und dann jeweils nach 30-60 Sekunden, dann wohl so oder geht das auch schöner?

Timer timer;
		
		public MainForm()
		{
			timer = new Timer();
			timer.Interval=999999;
			timer.Tick+=delegate{ Method();};
			Method();//für den 0 Sekunden Aufruf
		}
		
		void Method()
		{
			timer.Stop();
			timer.Interval=new Random().Next(30000,60000);
			timer.Start();			
		}

MfG Bunny

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Bunnychecker,

indem du von der Klasse _Timer _ableitest und deine eigene Klasse programmierst. Die Klasse könntest du dann _RandomTimer _nennen.

zero_x

5.299 Beiträge seit 2008
vor 13 Jahren

oder geht das auch schöner?

probierma

Timer timer = new Timer(){Interval=0};
Random _rnd=new Random();
		
		public MainForm()
		{
			InitializeComponents();
			timer.Tick+=delegate{ timer.Interval=_rnd.Next(30000,60000);};
			timer.Start();	
		}
		

Der frühe Apfel fängt den Wurm.

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Bunnychecker,

um den Beitrag von ErfinderDesRades zu ergänzen, siehe auch [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co..

zero_x