Potencia de un ArrayList

24/05/2005 - 10:06 por pepo | Informe spam
HOla...

Amigos tengo una aplicación que toma datos desde una base de datos
(Oracle), el caso es que creo imágenes tomando diferentes rangos:
diario, mensual y anual; como entenderán los dos primeros no presentan
un arreglo muy grande enteros, en cambio anual me devuelve 1700 tuplas.

Mi aplicación no me presenta ningún problema aparente cuando trato de
realizar la gráfica, como les comentaba diario y mensual grafica muy
bien, sin embargo "anual" simplemente no me grafica nada y el formulario
aparece como si nada.

¿Qué puede estar mal? - ¿El problema es la cantidad de datos o que
siempre realizo la gráfica en el método OnPaint del formulario?

Gracias.
 

Leer las respuestas

#1 Tristan
24/05/2005 - 15:55 | Informe spam
pepo, sin conocer nada de tu código es difícil saber que puede estar mal.

Por si acaso, prueba otra forma de dibujar. Crea un objeto Bitmap y utiliza
un Graphics para dibujar sobre él. Establece esta imagen como fondo de lo
que necesites, es decir:

Bitmap imagen = new Bitmap(
tuPictureBox.ClientRectangle.Width,
tuPictureBox.ClientRectangle.Height);
Graphics lienzo = Graphics.FromImage(imagen);
lienzo.DrawLine(Pens.Red, 0, 0, 100, 100);
tuPictureBox.Image = imagen;
...

Este código no tiene que estar en el OnPaint. La imagen creada así es
persistente por si misma puesto que se mantiene en el objeto Bitmap.

Para ver como se va pintando tu gráfica, puedes establecer la imagen del
PictureBox al principio y llamar periódicamente a Refresh(). Así tal vez
puedas ver donde falla o si funciona demasiado despacio.

Juan Carlos Badiola
MVP - C#

Preguntas similares