2

当用户通过单击关闭按钮(红色 X 按钮)取消我的对话框时,我想执行特定操作

在此处输入图像描述

而不是当表单由于其他一些操作而关闭时。我如何确定是否

private void Window_Closing(object sender, CancelEventArgs e)

事件由按钮引发?

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="60" Width="284" WindowStartupLocation="CenterScreen" 
    BorderBrush="#FFCCCCCC"
    BorderThickness="2"
    Background="#FFE0E0E0"
    WindowStyle="SingleBorderWindow" 
    ShowInTaskbar="False" ResizeMode="NoResize" Closing="Window_Closing">
4

2 回答 2

0

我的问题是关闭此窗口的其他方法是什么?我的理解是发件人永远是窗口。

我将执行以下操作 - 对于所有按钮或基于用户的关闭 - 在 Window 上设置一个公共属性(类似于 bool ClosedByUser)并将其设置为“true”,然后调用 Close()。

对于其他情况(例如单击“X”关闭),该属性默认设置为 false。在关闭事件处理程序中,使用该属性做出决定。

请注意: StackOverflow 上还有其他类似的问题和答案。

于 2013-04-08T14:48:41.980 回答
0
    public MainWindow()
    {
        InitializeComponent();
        this.Closing+=new System.ComponentModel.CancelEventHandler(MainWindow_Closing);

    }
    private void MainWindow_Closing(object sender, EventArgs e)
    {
        MessageBox.Show("salman");

    }
于 2013-04-08T12:03:18.797 回答