2009-06-28 85 views
0

我有一个WinForms应用程序,我想要执行一些长时间运行的操作,例如,设想浏览器并行复制2个大文件。对于每一个长时间运行的操作,我开始一个单独的UI线程(其中包括泵送消息/ Application.Run/Application.ExitThread),在此创建IProgressDialog的实例。父窗口和线程亲和力

我想知道 - 由于windows的线程亲和性 - 将主窗体的句柄封装到HandleRef并将其作为进程对话框的所有者/父级传递给另一个UI线程是合法的吗?我没有从辅助UI线程访问主窗口的句柄(在调试模式下没有交叉线程异常),只将它传递给本地函数。

谢谢。

回答

0

是的,没关系。 Windows允许不同线程的窗口具有父/子关系。