private void addThread_Click(object sender, EventArgs e) { CircleTemlate circleTemlate = new CircleTemlate(colorDialog1.Color, (int)nudRadius.Value); CircleDrawer circleDrawer = new CircleDrawer(circleTemlate, (int)nudRefreshInt.Value, CreateGraphics()); _drawers.Add(circleDrawer); circleDrawer.Start(); }
public CircleDrawer(CircleTemlate circleTemplate, int pauseInt, Graphics graphics) { CircleTemplate = circleTemplate; _pauseInt = pauseInt; _event = new ManualResetEvent(true); _thread = new Thread(() => { while (_run) { for (int i = 0; i < 50; i++) { CircleTemplate.Draw(_random.Next(130, 800), _random.Next(0, 530), graphics); } Thread.Sleep(_pauseInt); _event.WaitOne(); } }); }