En C# WinForms: estoy dibujando un gráfico de líneas en tiempo real que se basa en los datos recibidos a través del puerto en serie cada 500 ms.Formulario de fuerza para redibujar?
La lógica e.Graphics.DrawLine está dentro del controlador OnPaint del formulario.
Una vez que recibo los datos del puerto serie, necesito llamar a algo que hace que el formulario se vuelva a dibujar para que se invoque el controlador OnPaint. He intentado esto. Renovar y esto. Invalidar, y lo que sucede es que pierdo lo que se había dibujado anteriormente en el formulario.
¿Hay alguna otra forma de lograr esto sin perder lo que se ha dibujado en su formulario?
Gracias - funciona bien. Pregunta rápida - Estoy dibujando este gráfico de líneas en tiempo real - eventualmente voy a exceder el ancho máximo disponible en la pantalla, por lo que querré que las líneas que he dibujado en el formulario se desplacen ligeramente hacia la izquierda, a hacer espacio para las nuevas coordenadas que se trazan. ¿Alguna sugerencia sobre cómo hacer esto? Básicamente estoy desarrollando una aplicación de tipo EKG simple. – Chris
Hay muchas formas de hacerlo. Por ejemplo, puede usar e.Graphics.TranslateTransform (-x, 0); Esto hace que todos sus gráficos sean dibujados desplazados a la izquierda por x píxeles. – Zenya