C# 线程同步(等待执行)
是否可以调用 ShowDialog(),但在主窗体下创建对话框窗口,而不是在顶部?
我调用 ShowDialog 是因为我想停止执行主程序。
我不需要对话框窗口,因为我将从线程创建许多对话框,并且它们会互相阻止。
Is it possible to call ShowDialog(), but to create dialog window under main form, not on the top?
I'm calling ShowDialog because I want to stop executing the main program.
I don't need the dialog window, because I will create many dialogs from threads and they will prevent each other.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要阅读线程同步。要停止执行代码,请使用
EventWaitHandle
对象。不是创建并显示对话框,而是调用
EventWaitHandle
的WaitOne()
:MSDN 上有一个很好的示例。另请注意,您需要在再次使用阻塞之前调用
Reset()
或使用EventResetMode.AutoReset
选项创建EventWaitHandle
(了解更多信息MSDN)。You need to read synchronization of threads. For stopping executing code use
EventWaitHandle
object.Instead of creating and show dialog call
WaitOne()
ofEventWaitHandle
:A good example is on MSDN. Also note, that you need to call
Reset()
before using blocking again or createEventWaitHandle
withEventResetMode.AutoReset
option (read more on MSDN).