c# DataGridView 잔기술들 1
멀티뜨레드로 셀 값 쓰기
메인 뜨레드에서 DataGridView를 만들고 메인 뜨레드 아닌 뜨레드들에서 DataGridView의 셀 값을 쓸 때에는 델리게이트를 이용하지 않아도 된다.
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.Columns.Add("column 1", "column 1");
dataGridView1.Rows.Add("a");
}
private void button1_Click(object sender, EventArgs e)
{
Task task = new(CellUpdate);
task.Start();
}
void CellUpdate()
{
dataGridView1.Rows[0].Cells[0].Value = "b"; // works fine
}
행을 추가할 때에는 델리게이트를 써야 한다. 아래의 코드는 실행되지 않는다.
private void button2_Click(object sender, EventArgs e)
{
Task task = new(RowAdd);
task.Start();
}
void RowAdd()
{
dataGridView1.Rows.Add("b"); // raises an error
}