5

我在虚拟模式下有一个带有 DataGridView 的 winform 应用程序,一切正常!唯一的问题是,当我双击列分隔符时,控件试图使列宽适合所有单元格,而不仅仅是显示的或可见的!显然这会挂起应用程序。

我尝试了各种配置

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

一切!,数据网格和每一列中的设置!没有任何作用

任何想法?

最终结果是:用户能够调整列的大小,但不能通过双击列边框来调整!..我不在乎它是否不适合。

4

1 回答 1

6

您应该以这种方式处理 ColumnDividerDoubleClick:

private void datagridview_ColumnDividerDoubleClick(object sender, DataGridViewColumnDividerDoubleClickEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    datagridview.AutoResizeColumn(e.ColumnIndex, DataGridViewAutoSizeColumnMode.DisplayedCells);
  }
  e.Handled = true;
}
于 2014-08-01T11:56:18.063 回答