编程语言
首页 > 编程语言> > c# – DataGridView虚拟模式列分隔符双击自动调整大小

c# – DataGridView虚拟模式列分隔符双击自动调整大小

作者:互联网

我在虚拟模式下使用DataGridView进行winform应用,一切都很好!唯一的问题是当我点击双击一个列分隔符时,控件正试图使列宽适合所有单元格,而不仅仅是显示的或可见的!很明显,它挂起了应用程序.

我尝试了各种配置

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

Everything!,datagrid和每一列中的设置!没有任何作用

任何的想法?

最终结果是:用户可以调整列的大小,但不能通过双击en de column border!..我不在乎它是否完全不适合.

解决方法:

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

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

标签:c,winforms,datagridview,virtualmode,autosize
来源: https://codeday.me/bug/20190517/1119820.html