2014-05-10 36 views
5

我有一個虛擬模式的DataGridView的Winform應用程序,一切都很好!唯一的問題是,當我點擊雙擊列分隔符時,控件正在嘗試將列寬適合所有單元格,而不僅僅是顯示或可見!顯然,這會掛斷應用程序。DataGridView虛擬模式列分隔線雙擊自動大小

我必須嘗試所有類型的數據網格和每列配置

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

一切!設置!並沒有什麼作品

任何想法?

最終結果是:用戶可以調整列的大小,但不能通過雙擊en de列邊框!我不在乎它是否完全不適合。

回答

6

您應該處理ColumnDividerDoubleClick這樣:

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