C sharp - Pierdo datos al redibujar

 
Vista:

Pierdo datos al redibujar

Publicado por Alejandro Torres (2 intervenciones) el 02/06/2007 19:31:40
Saludos amigos, estoy teniendo un problema en mi aplicacion al realizar un "repaint". Les explico:

Tengo un form en el cual tengo un Panel que es donde dibujo una serie de circulos. Los circulos los genero aleatoriamente en una clase llamada generador desde un metodo publico que no devuelve valores llamado:

GenerarCirculos(Panel pnl)
{
GeneraCoordenadas(); //El milagro de la abstraccion ;P
DibujaCirculos();
}

Dentro del form tengo un boton en el cual al dar clic se llama a lo siguiente:

new GenMap().GenerarPuntos(pnlNav);

Ahora el problema, cuando doy clic al boton generar si se me generan los circulos, pero cuando minimizo o paso una ventada sobre mi form, se borran los circulos. He intentado con lo siguiente

private void pnlNav_Paint(object sender, PaintEventArgs e)
{
if (!vacio)
{
new GenMap().repaint(pnlNav);
}

}

El metodo repaint lo tengo en la clase generador, y en ese metodo trato(sin respuesta) de redibujar los circulos ya que tengo almacenadas sus coordenadas en un array. Pero no me redibuja nada. En este mismo método puse una funcion que me dibujara una String mediante

gr.DrawString(" Primer elemento: " + arrex[0].ToString() + "," + arrey[0].ToString(), new Font("Verdana", 20), new SolidBrush(Color.Tomato), 100, 300);

Descarto totalmente que no se esten almacenando los datos en el array, porque esta misma funcion la he puesto en otros métodos de la clase generador y si me da las coordenadas. Y no tengo idea de que puede estar pasando. Si alguno de ustedes tiene idea, se los agradeceria. Saludos y gracias por su pronta respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder