请教怎么解决
问题原因是这样的
我有一个tabControl,有两个page,page1放着pictrueBox1,page2放着pictureBox2private void backgroundWorker_DrawX_DoWork(object sender, DoWorkEventArgs e)
{
for (; this.backgroundWorker_DrawX.CancellationPending == false; )
{
Graphics g2 = pictureBox2.CreateGraphics();
}
}private void backgroundWorker_DrawA_DoWork(object sender, DoWorkEventArgs e)
{
for (; this.backgroundWorker_DrawA.CancellationPending == false; )
{
Graphics g1 = pictureBox1.CreateGraphics();
}
}
我需要用异步去循环的抓取一个硬件设备上的值,所以为了避免卡机,就用了backgroundWorker
但是每次我想从page1去看看page2里面的pictureBox2的画图情况的时候,就报错了
Cross-thread operation not valid: Control 'pictureBox2' accessed from a thread other than the thread it was created on.请教各位怎么搞定?
问题原因是这样的
我有一个tabControl,有两个page,page1放着pictrueBox1,page2放着pictureBox2private void backgroundWorker_DrawX_DoWork(object sender, DoWorkEventArgs e)
{
for (; this.backgroundWorker_DrawX.CancellationPending == false; )
{
Graphics g2 = pictureBox2.CreateGraphics();
}
}private void backgroundWorker_DrawA_DoWork(object sender, DoWorkEventArgs e)
{
for (; this.backgroundWorker_DrawA.CancellationPending == false; )
{
Graphics g1 = pictureBox1.CreateGraphics();
}
}
我需要用异步去循环的抓取一个硬件设备上的值,所以为了避免卡机,就用了backgroundWorker
但是每次我想从page1去看看page2里面的pictureBox2的画图情况的时候,就报错了
Cross-thread operation not valid: Control 'pictureBox2' accessed from a thread other than the thread it was created on.请教各位怎么搞定?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货