Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Hola! Tengo una pregunta que hacerte. Utilizo C# para programar y volver a dibujar los gráficos en el panel cada 10 milisegundos, pero parpadea mucho. ¿Cómo solucionarlo?

¡Hola! Tengo una pregunta que hacerte. Utilizo C# para programar y volver a dibujar los gráficos en el panel cada 10 milisegundos, pero parpadea mucho. ¿Cómo solucionarlo?

Se puede solucionar implementando doble buffer en C#. Aquí hay un ejemplo que tomé hace unos años como referencia.

El siguiente ejemplo ilustra cómo implementar buffers dobles para dibujar en C# (un botón llamado btnDrawPic dibuja imágenes en el formulario):

private void btnDrawPic_Click(object sender, EventArgs e)

{

Búfer de mapa de bitsBmp = new Bitmap(this.Width, this.Height);//Crear un búfer de mapa de bits

Gráficos g = this.CreateGraphics () ;//Crear gráficos de formulario

Punto p1 = nuevo Punto(0, 0);

Punto p2 = nuevo Punto(200, 200);

Pluma pen = new Pen(Color.Red);

Gráficos buf_g = Graphics.FromImage(bufferBmp);

//Este gráfico proviene de bufferBmp. Úselo para dibujar. bufferBmp

buf_g.DrawLine(pen, p1, p2);

buf_g.Dispose();//El dibujo está completo, suelta buf_g

g. DrawImage(bufferBmp, 0, 0);//Dibuja el contenido de bufferBmp en la pantalla

}