내가이 말 다음 클래스/양식 (반 사이비) :이 당연히문제
public partial class X : Form
{
private DataTable dt;
private BackgroundWorker bg;
public X()
{
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
}
private void button_Click(...)
{
bg = new BackgroundWorker();
bg.DoWork += new DoWorkEventHandler(bg_DoWork);
bg.RunWorkerAsync();
}
private void bg_DoWork(...)
{
// do some stuff
MagicMethod(parameters);
// doesnt work, how to fix this?
dataGridView1.Invoke((Action)delegate { dataGridView1.DataSource = dt; });
}
private void MagicMethod(params)
{
// update a label, WORKS
label1.Invoke((Action) delegate { label1.Text = "somestuff" }
// do some stuff to fill the datatable
}
}
인 증류수 버전의 경우 BackgroundWorker의 모든 사운드, 그러나없이 나는 더 반응 UI의 I를 원하기 때문에 하나를 구현하려고합니다. 그러나 그리드는 작업자에 의해 업데이트되지 않습니다 (레이블은 올바르게 작동합니다). 어떤 팁?
짧지 만 완전한 * 예를 제공 할 수 있다면 쉽게 도움이 될 것입니다. –
디버그> 예외> 공용 언어 런타임 예외> Throw하고 실패한 것을 확인하십시오. 당신이 제공 한 코드가 작동합니다. – jmservera