我的软件,突然会报这个错误。然后picturebox就不显示图片了,但软件依然可以正常运行业务逻辑。软件使用回调取图加多线程检测添加有lock锁的

解决方案 »

  1.   

    是否线程上逻辑有错误?
    InvokeRequired)//等待异步
    这个方式看看
      

  2.   

    多线程操作控件导致冲突了,
    所有访问线程,都通过主线程去操作就好了,
    例如:InvokeControl(pictureBox1, ()=>{
        pictureBox1.Image = xxx;
    });public static void InvokeControl(Control ctl, Action method)
    {
        Form frm = ctl.FindForm();
        if (frm == null || frm.IsDisposed)
        {
            return;
        }
        if (ctl.InvokeRequired)
        {
            frm.Invoke(method);
        }
        else
        {
            try
            {
                method();
            }
            catch (Exception exp)
            {
                MessageBox.Show(frm, exp.ToString());
            }
        }
    }
      

  3.   

    显然是的的代码有问题,lock 没起到应有的作用
      

  4.   

    扑抓全局异常或windows日志看异常