我在表单应用程序上创建了2个数据网格视图。我填充了0到100两列。 我想同时填充两个网格视图的原始数据。为了填充原始数据,我创建了两个线程,并使用Invoke方法来解决交叉线程异常;使用datagridview多线程
public void thread1()
{ dataGridView1.BeginInvoke(new Action(delegate()
{
a = 0;
dataGridView1.Rows.Add(20);
for (int i = 0; i < 100; i++)
{
dataGridView1.Rows[a].Cells[0].Value = i;
dataGridView1.Rows[a].Cells[1].Value = i + 1;
dataGridView1.Rows[a].Cells[2].Value = i + 2;
dataGridView1.Rows[a].Cells[3].Value = i + 3;
dataGridView1.Rows[a].Cells[4].Value = i + 4;
if (i % 5 == 0) { a++; }
dataGridView1.Refresh();
}
}));
}
但是,当我打电话与Parallel.Invoke或任务主程序线程并行库数据网格视图值的馅料工作sequantial。
我不知道如何让他们平行?
你可能想看看[此帖](https://stackoverflow.com/questions/487661 /我怎么做 - 暂停绘制一个控制和它的孩子)来提高你的DataGridView的性能。使用此解决方案,使用某些标准Windows窗体控件,我获得了巨大的性能提升。 –