我在表單應用程序上創建了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窗體控件,我獲得了巨大的性能提升。 –