gpt4 book ai didi

c# - 如果子窗口处于事件状态,则防止关闭父窗口

转载 作者:行者123 更新时间:2023-12-03 10:21:29 25 4
gpt4 key购买 nike

我正在开发多实例 WPF 应用程序。应用程序在主屏幕中有一个网格,双击网格行,它会打开子窗口。它还具有从主屏幕双击网格行打开多个子窗口的功能。

如果子窗口处于事件状态,任何人都可以帮助我防止父窗口关闭吗?因此,如果子窗口处于事件状态,用户将无法关闭主窗口。

最佳答案

将这些子窗口的所有者属性设置为主窗口:

private void Button_Click(object sender, RoutedEventArgs e)
{
var wnd = new Window();
wnd.Owner = this;
wnd.Show();
}

然后在主窗口中关闭事件处理程序:

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (this.OwnedWindows.Count > 0)
{
MessageBox.Show("Child windows exists, you have to close'em first");
e.Cancel = true;
}
}

最后一点,了解可以通过以下方式从代码中的任何位置获取应用程序主窗口可能会对您有所帮助:

System.Windows.Application.Current.MainWindow

因此,如果您使用 MVVM,上述内容将帮助您设置 Owner 属性。

关于c# - 如果子窗口处于事件状态,则防止关闭父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31787988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com