2014-05-10 11 views
5

Ho un applicaction WinForm con un DataGridView in modalità virtuale, tutto funziona grande! l'unico problema è che quando ho colpito un doppio click en un divisore di colonna, il controllo sta cercando di adattare la larghezza della colonna a tutte le cellule, non solo l'esposta o visibile! E, ovviamente, che si blocca l'applicazione.DataGridView modalità virtuale colonna divisore doppio click autosize

devo provare tutti i tipi di configurazioni

AutoSizeMode = DataGridViewAutoSizeColumnMode.None; 
AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader; 
AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; 

Tutto !, impostazioni nel DataGrid e in ogni colonna! e niente funziona

Qualche idea?

Il risultato finale è: essere l'utente in grado di ridimensionare le colonne, ma non dando un doppio click en de bordo della colonna .. Non mi preoccupo se non si adatta a tutti!.

risposta

6

Si dovrebbe elaborare ColumnDividerDoubleClick questo modo:

private void datagridview_ColumnDividerDoubleClick(object sender, DataGridViewColumnDividerDoubleClickEventArgs e) 
{ 
    if (e.Button == MouseButtons.Left) 
    { 
    datagridview.AutoResizeColumn(e.ColumnIndex, DataGridViewAutoSizeColumnMode.DisplayedCells); 
    } 
    e.Handled = true; 
}