private void btnCirculo_Click(object sender, EventArgs e) { V = new Vista(panel); Random aleatorio = new Random(); int radio = aleatorio.Next(20, 50); int x = aleatorio.Next(0, panel.Width - radio); int y = aleatorio.Next(0, panel.Height - radio); Point centro = new Point(x, y); circulo C = new circulo(radio, centro); Task tarea = new Task(() => Animar(V, C)); tarea.Start(); }
public void dibujar_circulo(circulo c) { lapiz = new Pen(colorLapiz); lapiz.Width = 3; g.DrawEllipse(lapiz, c.P_centro.X, c.P_centro.Y, c.P_radio, c.P_radio); }
private void Animar(Vista V, circulo C) { V.P_ColorLapiz = Color.Purple; V.dibujar_circulo(C); bool sentido = true; while (true) { while (checkBoxAnim.Checked) { Thread.Sleep(500); V.P_ColorLapiz = Color.White; V.dibujar_circulo(C); if (sentido) { if (C.P_centro.X <= panel.Width - 2 * C.P_radio) { C.P_centro = new Point(C.P_centro.X + C.P_radio, C.P_centro.Y); } else sentido = false; } else { if (C.P_centro.X > C.P_radio) C.P_centro = new Point(C.P_centro.X - C.P_radio, C.P_centro.Y); else sentido = true; } V.P_ColorLapiz = Color.Purple; V.dibujar_circulo(C); } } }