当前位置: 首页 > article >正文

wpf 窗口关闭前 弹出提示窗口

  1. 使用 Closing 事件
    • 在 WPF 中,可以处理窗口的Closing事件。当窗口即将关闭时,这个事件会被触发。在该事件处理程序中,可以显示一个提示窗口来询问用户是否真的要关闭窗口。
    • 以下是一个示例代码:

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来取消窗口的关闭操作;如果用户点击 “是” 按钮,则窗口正常关闭。

  1. 自定义提示窗口
    • 如果不想使用默认的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(例如用户点击了取消按钮或者直接关闭了提示窗口),则取消主窗口的关闭操作。

http://www.kler.cn/news/356455.html

相关文章:

  • CPP-TCP80优化
  • Python知识点:基于Python工具,如何使用Brownie进行智能合约测试
  • R语言复杂抽样调查数据统计描述和分析
  • Vue-admin-box后台管理框架
  • Leetcode 1 的位数
  • 文字跑马灯:实现文字自动滚动策略的原理分析
  • TwinCAT3添加NC轴
  • Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
  • 【微服务】微服务发现详解:构建高效分布式系统的关键
  • c# 里list和array的应用比较说明
  • SwanLab VSCode插件已发布,附使用教程
  • 不做邮箱投稿的奴隶,要做单位信息宣传考核计分投稿的主人
  • SpringBoot智慧外贸平台
  • 大数据-173 Elasticsearch 索引操作 增删改查 详细 JSON 操作
  • Java - SpringMVC
  • 反走样算法(MSAA、TAA、FXAA、DLSS)
  • HBASE介绍和使用
  • 计算机视觉中的最小二乘法:寻找完美交点和直线拟合
  • Unity Apple Vision Pro 保姆级开发教程-准备阶段
  • 基于langchain.js快速搭建AI-Agent