我用form.Dispose()
关闭表单,但我有问题是所有打开的MessageBox都没有关闭。他们仍然开放。关闭表单时如何关闭所有MessageBox?这可能吗?
我使用的是紧凑型框架3.5
答案 0 :(得分:5)
这是不可能的。 MessageBox包装user32.MessageBox
API,它阻止调用它的线程,直到用户响应。它们被设计为模态的,你必须杀死你的进程来关闭它们。
您可以使用表单编写自己的MessageBox实现,并使用ShowDialog使它们成为模态。这样你就可以自己关闭它们。