Nella mia applicazione ho un controllo DataGridView che visualizza i dati per l'oggetto selezionato. Quando seleziono un oggetto diverso (in una casella combinata sopra), devo aggiornare la griglia. Sfortunatamente oggetti diversi hanno dati completamente diversi, anche colonne diverse, quindi ho bisogno di cancellare tutti i dati e le colonne esistenti, creare nuove colonne e aggiungere tutte le righe. Quando questo è fatto, l'intero controllo tremola in modo orribile e richiede anni. Esiste un modo generico per ottenere il controllo in uno stato di aggiornamento in modo che non ridisegni se stesso e quindi ridisegnarlo dopo aver completato tutti gli aggiornamenti?Sfarfallio durante gli aggiornamenti dei controlli in WinForms (ad esempio DataGridView)
E 'certamente possibile con TreeViews:
myTreeView.BeginUpdate();
try
{
//do the updates
}
finally
{
myTreeView.EndUpdate();
}
C'è un modo generico per fare questo con altri controlli, DataGridView in particolare?
AGGIORNAMENTO: Siamo spiacenti, non sono sicuro di essere stato abbastanza chiaro. Vedo la "sfarfallio", perché dopo singola modifica il controllo viene ridisegnato sullo schermo, in modo da vedere la barra di scorrimento contrazione, ecc
aggiungere questo in DataGridView DoubleBuffered (true); –