我在虚拟模式下使用DataGridView进行winform应用,一切都运行良好!唯一的问题是当我点击双击一个列分隔符时,控件正试图使列宽适合所有单元格,而不仅仅是显示的或可见的!显然,这会挂起应用程序。
我尝试了各种配置
AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader;
AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
Everything !, datagrid和每一栏中的设置!并没有任何作用
有什么想法吗?
最终结果是:用户可以调整列的大小,但不能通过双击en de column border!..我不在乎它是否完全不适合。
答案 0 :(得分:6)
您应该以这种方式处理ColumnDividerDoubleClick:
private void datagridview_ColumnDividerDoubleClick(object sender, DataGridViewColumnDividerDoubleClickEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
datagridview.AutoResizeColumn(e.ColumnIndex, DataGridViewAutoSizeColumnMode.DisplayedCells);
}
e.Handled = true;
}