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

标签 c#

我用 form.Dispose() 关闭了表单,但我遇到了所有打开的 MessageBoxes 都没有关闭的问题。它们仍然是打开的。关闭表单时如何关闭所有消息框?这可能吗?

我正在使用 compact framework 3.5

最佳答案

这是不可能的。 MessageBox 包装了 user32.MessageBox API,它会阻塞调用它的线程,直到用户做出响应。它们被设计为模态的,您必须终止进程才能关闭它们。

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

关于c# - 关闭表单时如何关闭所有打开的 MessageBoxes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900474/

相关文章:

c# - 有关与关键字/保留字 “out”中的使用有关的编译错误的问题

C# mysql 使用 Byte[] 将文件插入数据库

c# - 创建具有菜单和链接但显示其他页面主要内容的母版页的最佳方式

c# - 如何检查结构是否已实例化?

c# - 获取输入类型 ="number"标签以在服务器上运行

c# - Application_Start 是否在 Web.config 文件转换之前执行?

c# - C#中的加法和除法

c# - 如何在 IActionFilter Asp.net core 中读取 OnActionExecuting(ActionExecutingContext context) 中的请求体

c# - 在 C# 控制台应用程序中播放 mp3 声音

c# - 如何在 RegularExpression 属性上添加多行选项?