Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2014, 06:08
SARGE553413
 
Fecha de Ingreso: febrero-2014
Mensajes: 55
Antigüedad: 10 años, 2 meses
Puntos: 3
Duda con método OnPaint y rendimiento.

Hola a todos.

Estoy desarrollando una aplicación en la que tengo que pintar imágenes "lo más rápido posible" dentro de una clase que extiende a PictureBox.

De momento lo hago obteniendo los Graphics del a propiedad Image del PictureBox, usándolos para pintar lo que necesite y luego hacer Refresh().

He estado leyendo y creo que una manera de hacerlo más rápido es redefinir el método OnPaint() y, dentro de este, no llamar al OnPaint() de la clase base (PictureBox) para ahorrar tiempo (evito que haga operaciones que no me interesa que haga). ¿Cierto?

Mi duda es: ¿qué tengo que hacer dentro de OnPaint() para que al asignar una imagen a la propiedad Image del PictureBox ésta se pinte? Es decir, si tengo:

Código:
public class A : public PictureBox{
     public A(Bitmap bmp){
          this->image = bmp;  //(1)
     }

     protected override void OnPaint(Object sender, PaintEventArgs e){
           //¿Qué código debo escribir aquí para que al hacer (1) la imagen se pinte, sin
           //hacer "base.OnPaint(sender, e);" ?
     }
}
Gracias, saludos.