wpf 窗口关闭前 弹出提示窗口
- 使用 Closing 事件
- 在 WPF 中,可以处理窗口的
Closing
事件。当窗口即将关闭时,这个事件会被触发。在该事件处理程序中,可以显示一个提示窗口来询问用户是否真的要关闭窗口。 - 以下是一个示例代码:
- 在 WPF 中,可以处理窗口的
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Closing += MainWindow_Closing;
}
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
MessageBoxResult result = MessageBox.Show("您确定要关闭窗口吗?", "关闭提示", MessageBoxButton.YesNo);
if (result == MessageBoxResult.No)
{
e.Cancel = true;
}
}
}
- 在上述代码中,当
MainWindow
即将关闭时,会弹出一个包含 “您确定要关闭窗口吗?” 消息的MessageBox
。如果用户点击 “否” 按钮,通过设置e.Cancel = true
来取消窗口的关闭操作;如果用户点击 “是” 按钮,则窗口正常关闭。
- 自定义提示窗口
- 如果不想使用默认的
MessageBox
,可以创建一个自定义的提示窗口。 - 首先创建一个新的 WPF 窗口(例如命名为
ConfirmCloseWindow
),在其中设计布局(如添加一个提示文本和 “是”“否” 按钮等)。 - 然后在主窗口的
Closing
事件中使用自定义窗口:
- 如果不想使用默认的
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Closing += MainWindow_Closing;
}
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
ConfirmCloseWindow confirmWindow = new ConfirmCloseWindow();
bool? result = confirmWindow.ShowDialog();
if (result!= true)
{
e.Cancel = true;
}
}
}
- 在这个示例中,当主窗口即将关闭时,会创建并显示
ConfirmCloseWindow
。如果ConfirmCloseWindow
关闭时返回的值不是true
(例如用户点击了取消按钮或者直接关闭了提示窗口),则取消主窗口的关闭操作。
原文地址:https://blog.csdn.net/qq565221961/article/details/142911354
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!