我有一个后台工作者,我正在尝试创建一个表单实例,但我不希望后台工作线程拥有该对象,但是喜欢拥有它的主线程。我从哪里开始呢?
答案 0 :(得分:1)
您可以使用Invoke和BeginInvoke函数来获取在GUI线程上执行的代码。你可以让你的另一个线程引发一个事件,然后在你的主窗体中处理它,然后你的主窗体可以调用该回调到它自己的线程(使用InvokeRequired然后调用)来启动新窗体。
如果您正在使用后台工作程序,则可以使用OnProgressChanged方法向您的应用程序发送信号以执行某些操作。
另外,请看一下这个excellent book