且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

InvalidOperationException异常 - 对象是目前在其他地方使用 - 红叉

更新时间:2023-01-21 08:28:44

这是因为GDI +图片类不是线程安全的。 Hovewer您可以通过每次使用锁避免出现InvalidOperationException当你需要访问的图像,例如绘画或获取图像大小:

This is because Gdi+ Image class is not thread safe. Hovewer you can avoid InvalidOperationException by using lock every time when you need to Image access, for example for painting or getting image size:

Image DummyImage;

// Paint
lock (DummyImage)
    e.Graphics.DrawImage(DummyImage, 10, 10);

// Access Image properties
Size ImageSize;
lock (DummyImage)
    ImageSize = DummyImage.Size;

BTW,不需要调用,如果你将使用上面的图案。

BTW, invocation is not needed, if you will use the above pattern.