Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView-添加列而无需不断更新水平滚动条(Winforms)_C#_Winforms_Datagridview - Fatal编程技术网

C# DataGridView-添加列而无需不断更新水平滚动条(Winforms)

C# DataGridView-添加列而无需不断更新水平滚动条(Winforms),c#,winforms,datagridview,C#,Winforms,Datagridview,我有一个DataGridView,需要动态地向其中添加几个(比如20个)列。当我这样做的时候 foreach (var columnName in ColumnNames) dataGridView.Columns.Add(columnName, columnName); 每次添加新列时,水平滚动条都会尝试保持最新状态。所以用户看到奇怪的滚动条在缩小。我只需要更新水平滚动条一次,当所有列被添加。我如何做到这一点? 另外,我试着这样做: ((System.ComponentModel.

我有一个DataGridView,需要动态地向其中添加几个(比如20个)列。当我这样做的时候

foreach (var columnName in ColumnNames)
     dataGridView.Columns.Add(columnName, columnName);
每次添加新列时,水平滚动条都会尝试保持最新状态。所以用户看到奇怪的滚动条在缩小。我只需要更新水平滚动条一次,当所有列被添加。我如何做到这一点?
另外,我试着这样做:

((System.ComponentModel.ISupportInitialize)(dataGridView)).BeginInit();
dataGridView.SuspendLayout();

foreach (var columnName in ColumnNames)
{
     dataGridView.Columns.Add(columnName, columnName);
}

((System.ComponentModel.ISupportInitialize)(dataGridView)).EndInit();
dataGridView.ResumeLayout(false);
但是这没有用。

你可以用。这可能有助于更新

dataGridView.Columns.AddRange(Columns);
AddRange给定列名称的示例(未测试,但应有效):

//假设ColumnNames是列名列表
DataGridViewColumn[]列添加=
新的DataGridViewColumn[ColumnNames.Count];
for(int i=0;i
您可以使用。这可能有助于更新

dataGridView.Columns.AddRange(Columns);
AddRange给定列名称的示例(未测试,但应有效):

//假设ColumnNames是列名列表
DataGridViewColumn[]列添加=
新的DataGridViewColumn[ColumnNames.Count];
for(int i=0;i
能否请您提供一个示例,说明如何构造
DataGridViewColumn
只知道它的名称?@StuffOccurs-我添加了一个快速示例能否请您提供一个示例,说明如何构造
DataGridViewColumn
只知道它的名称?@StuffOccurs-我添加了一个快速示例