【发布时间】:2009-06-28 12:55:31
【问题描述】:
我有一个 WinForms 应用程序,我想在其中执行一些长时间运行的操作,例如想象一下 Explorer 并行复制 2 个大文件。对于每一个长时间运行的操作,我将启动一个单独的 UI 线程(包括发送消息/Application.Run/Application.ExitThread),在其中创建IProgressDialog 的实例。
我想知道 - 由于 windows 的线程亲和力 - 将主窗体的句柄打包到 HandleRef 并将其作为进度对话框的所有者/父级传递是否合法,它位于不同的 UI 线程上?我没有从辅助 UI 线程访问主窗口的句柄(在调试模式下没有跨线程异常),只是将其传递给本机函数。
谢谢。
【问题讨论】:
标签: c# winforms interop affinity