我弄错了..我使用循环来运行一堆图像来绘制..我也使用多线程..
什么可能导致这个问题,怎么可能被阻止?
我使用winforms
其他信息:
它告诉我如果我在GetHDv方法之后使用图形,请调用ReleaseHDC方法..
这是什么意思?
部分代码:
这样创建的线程:
在我这样做之前: BackgroundWorker1.RunWorkerAsync();
现在我正在测试:
Backgroundworker back = new backgroundworker(); back.runworkerAsync();
是异常的根源吗?
答案 0 :(得分:1)
“目前在其他地方使用对象”真正发生的事情是 GDI +正在抱怨它的设备上下文(DC) 试图使用已经“正在使用”。一般来说,使用WinForms 表示存在递归的Graphics.GetHdc。 GetHdc必须 在任何其他GetHdc之前匹配ReleaseHdc。
和
如果您要从中获取表单,则可能会遇到此异常 多线程。你可能也会遇到一个 跨线程异常也是如此。在这种情况下的解决方案是 访问表单时不使用多个线程,包括绘图。