2011-10-26 158 views
1

我关闭窗体与form.Dispose()但我有问题,所有打开的MessageBoxes不关闭。他们仍然开放。如何关闭窗体时关闭所有消息框?这可能吗?当关闭窗体关闭如何关闭所有打开的消息框

我正在使用紧凑型框架3.5

+0

摆脱消息框的最好方法是不调用它的Show()方法。谨慎使用*非常*。如果你必须显示一个然后自动关闭它没有任何意义。 –

回答

5

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

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

+0

thx多项式解释 – senzacionale

+0

很高兴帮助:) – Polynomial