有没有什么办法可以检测MessageBox的关闭。一些解决方法是可能的,也许我可以编写自己的自定义MessageBox,但我需要操作系统的MessageBox。是否可以捕获MessageBox关闭?
也许就像MessageBox.Closing += new EventHandler
,有什么建议吗?
有没有什么办法可以检测MessageBox的关闭。一些解决方法是可能的,也许我可以编写自己的自定义MessageBox,但我需要操作系统的MessageBox。是否可以捕获MessageBox关闭?
也许就像MessageBox.Closing += new EventHandler
,有什么建议吗?
您可以使用MessageBox找到int Extended WPF Toolkit™ Community Edition。
在其文档之外,还有所谓的
CloseButtonClicked
Closed
两个事件,但在Tigran答案解释的那样,MessageBox.Show调用模式,并阻止您拨打电话线,所以没有必要捕捉关闭事件,除非您正在运行另一个应该以某种方式立即响应关闭消息框的线程。
是的,这正是我正在寻找的,非常感谢你。 –
如果不使用一些不太可靠的API调用和嗅探,没有“正常”的方法。但根据你的评论,你需要的可能是这样的:
var flag = true;
MessageBox.Show(...);
flag = false;
这是做到这一点的正确方法。 MessageBox.Show(...);
是一个阻塞呼叫。
如果您需要更多的控制,定义你自己的形式,它西港岛线成为您消息框。 所以你可以完全控制它,并且还有事件处理器的可能性。
你能解释一下目的吗? – Steve
我必须在打开时将标志设置为true,并在关闭时将标志设置为false。 –