尝试更新图片时出现此错误。 这是一个跨线程的更新,但我使用.Invoke(),所以这不应该是问题,如果它。
答案 0 :(得分:6)
(回答我自己的问题,对其他人,以及将来参考)
我认为(尚未完全确定)这是因为如果尚未加载/显示控件,InvokeRequired将始终返回false。我做了一个似乎暂时工作的解决方法,即在其创建者中简单引用相关控件的句柄,如下所示:
var x = this.Handle;
(请参阅http://ikriv.com:8765/en/prog/info/dotnet/MysteriousHang.html - 向下?cached version)
(相关问题:Boiler plate code replacement - is there anything bad about this code?)
答案 1 :(得分:3)
如果句柄尚不存在,您可以通过继承控件并调用CreateHandle
来强制它;然而,更大的问题是:你为什么要用一个尚未加载的表格做事?我个人在Load之后才开始这样的操作。