En mi aplicación tengo un control DataGridView que muestra datos para el objeto seleccionado. Cuando selecciono un objeto diferente (en un cuadro combinado de arriba), necesito actualizar la grilla. Lamentablemente, los diferentes objetos tienen datos completamente diferentes, incluso columnas diferentes, por lo que necesito borrar todos los datos y columnas existentes, crear nuevas columnas y agregar todas las filas. Cuando se hace esto, todo el control parpadea horriblemente y lleva siglos. ¿Existe una forma genérica de obtener el control en estado de actualización para que no se vuelva a pintar y luego volver a pintar después de que termine todas las actualizaciones?Parpadeo durante las actualizaciones de los controles en WinForms (por ejemplo, DataGridView)
Es ciertamente posible con TreeViews:
myTreeView.BeginUpdate();
try
{
//do the updates
}
finally
{
myTreeView.EndUpdate();
}
¿Hay una manera genérica para hacer esto con otros controles, DataGridView en particular?
ACTUALIZACIÓN: Lo siento, no estoy seguro de que fuera lo suficientemente claro. Veo el "parpadeo", porque después de una sola edición del control se volvió a pintar en la pantalla, para que pueda ver la barra de desplazamiento de contracción, etc.
agregue esto en su DataGridView DoubleBuffered (verdadero); –