C# &引用;System.InvalidOperationException:对象当前正在其他地方使用";-我如何解决这个问题?

C# &引用;System.InvalidOperationException:对象当前正在其他地方使用";-我如何解决这个问题?,c#,exception,invoke,C#,Exception,Invoke,我在尝试更新图像时遇到此错误。 这是一个跨线程的更新,但我使用了.Invoke(),所以这应该不是问题,对吧。(回答我自己的问题,供其他人和将来参考) 我认为(尚未完全确定)这是因为如果控件尚未加载/显示,invokererequired将始终返回false。我做了一个暂时可行的变通方法,就是简单地引用其创建者中关联控件的句柄,如下所示: var x = this.Handle; (见下?) (相关问题:)如果句柄还不存在,可以通过对控件进行子类化并调用CreateHandle来强制它;然而

我在尝试更新图像时遇到此错误。 这是一个跨线程的更新,但我使用了.Invoke(),所以这应该不是问题,对吧。

(回答我自己的问题,供其他人和将来参考)

我认为(尚未完全确定)这是因为如果控件尚未加载/显示,invokererequired将始终返回false。我做了一个暂时可行的变通方法,就是简单地引用其创建者中关联控件的句柄,如下所示:

var x = this.Handle; 
(见下?)


(相关问题:)

如果句柄还不存在,可以通过对控件进行子类化并调用
CreateHandle
来强制它;然而,更大的问题是:为什么要使用尚未加载的表单进行操作?就我个人而言,我只会在加载后启动这样的操作。

表单被加载,但这些控件被动态加载到用户控件中,而用户控件尚未设置为Visible=true(我认为)。