当用户通过单击关闭按钮(红色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">
答案 0 :(得分:0)
public MainWindow()
{
InitializeComponent();
this.Closing+=new System.ComponentModel.CancelEventHandler(MainWindow_Closing);
}
private void MainWindow_Closing(object sender, EventArgs e)
{
MessageBox.Show("salman");
}
答案 1 :(得分:0)
我的问题是关闭此窗口的其他方法是什么?我的理解是发送者总是成为窗口。
我会执行以下操作 - 对于所有按钮或基于用户的关闭 - 在Window上设置公共属性(类似于bool ClosedByUser)并将其设置为“true”然后调用Close()。
对于其他情况(例如通过单击“X”关闭),该属性默认设置为false。在结束事件处理程序中,使用该属性做出决定。
请注意:StackOverflow上还有其他问题和答案similar。