C# DataGridView使用Wrapmode集自动调整行大小会显著降低性能

C# DataGridView使用Wrapmode集自动调整行大小会显著降低性能,c#,winforms,datagridview,C#,Winforms,Datagridview,因此,我有一个DataGridView,它禁用了行标题,为多行单元格文本设置了wrapmode,并自动调整行大小以适应多行文本 代码: view.RowHeadersVisible = false; view.DefaultCellStyle.WrapMode = DataGridViewTriState.True; view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 问题是,与未设置AutoSizeRowsMode属性

因此,我有一个DataGridView,它禁用了行标题,为多行单元格文本设置了wrapmode,并自动调整行大小以适应多行文本

代码:

view.RowHeadersVisible = false;
view.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
问题是,与未设置AutoSizeRowsMode属性相比,设置AutoSizeRowsMode属性会使视图更新速度非常慢

以下是或多或少相同问题的链接:

他们的解决办法:

view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;

view.Scroll +=new ScrollEventHandler(view_Scroll);

private void view_Scroll(object sender, ScrollEventArgs e)
{
   //Workaround for datagrid view bug.
   ((DataGridView)sender).AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders;
   ((DataGridView)sender)AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
}
现在,问题是行标题被禁用,因此我的程序在滚动时崩溃


我希望任何人都能找到解决方案,或者至少知道我能做些什么。

您只需使用它来自动调整行的大小(不需要
view\u Scroll


问题是最宽值的计算。它迭代所有单元格和行。手工做固定宽度怎么样?
view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;