问题遇到的现象和发生背景
程序载入摄像头视频的时候慢(等待5s以上),想用多线程解决。
问题相关代码,请勿粘贴截图
Debug.WriteLine("DisplayMode 0");
mvcge.InnerDispEnable(g_iDevIndex, 1); //打开内部显示
mvcge.InnerDispPosX(g_iDevIndex, 0);
mvcge.InnerDispPosY(g_iDevIndex, 0);
mvcge.EnableCapture(g_iDevIndex);//打开采集和显示
GCHandle gch = GCHandle.Alloc(mvcge);//打开回调
mvcge.CapCallBack(g_iDevIndex, MVCGE.framecallback, GCHandle.ToIntPtr(gch));//打开回调
mvcge.InnerDispHwnd(g_iDevIndex, picShow.Handle);
mvcge.InnerDispWidth(g_iDevIndex, (uint)picShow.Width);
mvcge.InnerDispHeight(g_iDevIndex, (uint)picShow.Height);
运行结果及报错内容
System.InvalidOperationException:“线程间操作无效: 从不是创建控件“picShow”的线程访问它。”
我的解答思路和尝试过的方法
试了异步委托等等方法,均没有解决问题。最终要实现的是子线程中返回一个图片控件给主线程,一直实现不了。