WPF 中 Loaded 和 Closing 窗口事件

在 WPF 中,LoadedClosing 是两个常用的窗口事件。下面是对这两个事件的详细解释和示例说明:

  1. Loaded 事件:
    • Loaded 事件在窗口(或其他可视元素)加载完成并准备好进行显示时触发。
    • Loaded 事件中,您可以执行初始化操作、加载数据、设置初始状态等。
    • 通常用于在窗口显示之前进行准备工作。

示例:

csharp 复制代码
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        Loaded += MainWindow_Loaded;
    }

    private void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        // 在窗口加载完成后执行的操作
        // 例如,加载数据、设置初始状态等
    }
}

在上述示例中,MainWindow_Loaded 方法是 Loaded 事件的处理程序。在窗口加载完成后,该方法会被调用,并在其中执行相应的操作。

  1. Closing 事件:
    • Closing 事件在窗口即将关闭时触发。
    • Closing 事件中,您可以执行清理操作、保存数据、取消关闭操作等。
    • 通常用于在窗口关闭之前进行必要的处理。

示例:

csharp 复制代码
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        Closing += MainWindow_Closing;
    }

    private void MainWindow_Closing(object sender, CancelEventArgs e)
    {
        // 在窗口关闭前执行的操作
        // 例如,保存数据、执行清理操作等

        MessageBoxResult result = MessageBox.Show("是否确定关闭窗口?", "确认关闭", MessageBoxButton.YesNo);
        if (result == MessageBoxResult.No)
        {
            // 取消窗口关闭操作
            e.Cancel = true;
        }
    }
}

在上述示例中,MainWindow_Closing 方法是 Closing 事件的处理程序。在窗口即将关闭时,该方法会被调用,并在其中执行相应的操作。在示例中,它会显示一个确认框,询问用户是否确定关闭窗口。如果用户点击 "No",则通过设置 e.Cancel = true 来取消窗口关闭操作。


总结:Loaded 事件在窗口加载完成后触发,用于执行初始化操作;Closing 事件在窗口即将关闭时触发,用于执行清理操作或取消关闭操作。这两个事件提供了在窗口生命周期中重要的时间点执行代码的机会。

相关推荐
无心水11 小时前
分布式定时任务与SELECT FOR UPDATE:从致命陷阱到优雅解决方案(实战案例+架构演进)
服务器·人工智能·分布式·后端·spring·架构·wpf
LZL_SQ13 小时前
HCCL测试框架中AllReduce边界条件测试设计深度剖析
wpf·cann
User_芊芊君子1 天前
【分布式训练】CANN SHMEM跨设备内存通信库:构建高效多机多卡训练的关键组件
分布式·深度学习·神经网络·wpf
就是有点傻3 天前
WPF按钮走马灯效果
wpf
zuozewei3 天前
虚拟电厂聚合商平台安全技术体系深度解读
安全·wpf
极客智造3 天前
WPF 自定义控件:AutoGrid 实现灵活自动布局的网格控件
wpf
极客智造3 天前
WPF Grid 布局高效扩展:GridHelpers 附加属性工具类全解析
wpf
张人玉3 天前
WPF 多语言实现完整笔记(.NET 4.7.2)
笔记·.net·wpf·多语言实现·多语言适配
暖馒3 天前
深度剖析串口通讯(232/485)
开发语言·c#·wpf·智能硬件
我要打打代码3 天前
WPF控件(2)
wpf