检查消息框是否打开WPF C#?
我有一个WPF应用程序,其中窗口变小,如果被停用,则会移到一旁。但是如果窗口上有一个打开的messagebox,我不希望出现此功能。有没有一种方法可以检查是否有任何对话框在C代码中打开?在打开MessageBox时在某个地方设置一个标志。当MessageBox关闭时将其取消设置 处理停用时,请检查标志检查消息框是否打开WPF C#?,c#,wpf,C#,Wpf,我有一个WPF应用程序,其中窗口变小,如果被停用,则会移到一旁。但是如果窗口上有一个打开的messagebox,我不希望出现此功能。有没有一种方法可以检查是否有任何对话框在C代码中打开?在打开MessageBox时在某个地方设置一个标志。当MessageBox关闭时将其取消设置 处理停用时,请检查标志 如果一次有可能打开多个MessageBox,那么您需要考虑一下,否则一次关闭就会让它看起来没有打开的消息框。将对MessageBox的调用包装在一个静态类/方法中。如果这被调用,则设置消息框打开的
如果一次有可能打开多个MessageBox,那么您需要考虑一下,否则一次关闭就会让它看起来没有打开的消息框。将对MessageBox的调用包装在一个静态类/方法中。如果这被调用,则设置消息框打开的标志 大概是这样的: 用法:
但是您必须确保始终使用包装器来调用MessageBox“当窗口变小并被停用时移到一边”——了解1)您自己是否这样做了,或者您正在谈论某种标准行为2)您是如何做到这一点的会很有帮助,以防有某种方法阻止特定于您的应用程序的操作,我自己制作了动画。如果我可以检查对话框是否打开,我可以告诉我的动画是否执行相同的操作。它是哪种类型的对话框?Messagebox.Show(“某些消息”)。如果有多个Messagebox,请使用计数器。消息框打开时增加,关闭时减少。
public class MessageBoxWrapper
{
public static bool IsOpen {get;set;}
// give all arguments you want to have for your MSGBox
public static void Show(string messageBoxText, string caption)
{
IsOpen = true;
MessageBox.Show(messageBoxText, caption);
IsOpen = false;
}
}
MessageBoxWrapper.Show("TEST","TEST");
MessageBoxWrapper.IsOpen