关闭表单时关闭如何关闭所有打开的MessageBoxes

时间:2011-10-26 08:45:24

标签: c#

我用form.Dispose()关闭表单,但我有问题是所有打开的MessageBox都没有关闭。他们仍然开放。关闭表单时如何关闭所有MessageBox?这可能吗?

我使用的是紧凑型框架3.5

1 个答案:

答案 0 :(得分:5)

这是不可能的。 MessageBox包装user32.MessageBox API,它阻止调用它的线程,直到用户响应。它们被设计为模态的,你必须杀死你的进程来关闭它们。

您可以使用表单编写自己的MessageBox实现,并使用ShowDialog使它们成为模态。这样你就可以自己关闭它们。