PDA

View Full Version : خطای runTime در backgroundWorker



hosseinam1370
دوشنبه 22 تیر 1394, 10:36 صبح
دوستان چرا نمیتونم در اونت doWork از شئ backGroundWorker مقدار یه label رو ست کنم؟ خطای ران تایم میده.
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 3; i++)
{
MessageBox.Show(i.ToString());
Thread.Sleep(300);
}
label1.Text = "hossein";
}


با تشکر.

محمد رضا فاتحی
دوشنبه 22 تیر 1394, 10:51 صبح
اولا خطا رو ننوشتید
....
اگه درست حدس زده باشم در مورد invoke سرچ کنید
یه روش غیر اصولی هست که پیشنهاد نمی شه ولی کارتون رو راه میندازه
تو سازنده فرمتون اینو بنویسید


CheckForIllegalCrossThreadCalls = false;


ولی بازهم می گم غیر اصولیه

hi level hdd
دوشنبه 22 تیر 1394, 12:15 عصر
this.Invoke((MethodInvoker)delegate{ labelX.Text= msg; });