DataGridView虚拟模式下的列分隔符双击自动调整大小。

6

我有一个WinForm应用程序,在虚拟模式下拥有一个DataGridView,一切都很好!唯一的问题是当我双击列分隔符时,该控件会尝试将列宽度适合所有单元格,而不仅仅是显示或可见的单元格!显然,这会使应用程序停止响应。

我尝试了各种配置:

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

所有的东西!包括datagrid和每一列中的设置!但是什么都不起作用。

有任何想法吗?

最终结果是:用户可以调整列的大小,但不能通过双击列边框来实现!即使它完全不适合也无所谓。

1个回答

7
您应该按照以下方式处理ColumnDividerDoubleClick:
private void datagridview_ColumnDividerDoubleClick(object sender, DataGridViewColumnDividerDoubleClickEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    datagridview.AutoResizeColumn(e.ColumnIndex, DataGridViewAutoSizeColumnMode.DisplayedCells);
  }
  e.Handled = true;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接