我正在使用WPF / VB.NET中的红色[X]按钮处理窗口关闭,如下所示:
Private Sub Window_Closing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If MessageBox.Show("Voulez-vous vraiment fermer l'outil ?", "FT_SOFT", MessageBoxButton.YesNo) = MessageBoxResult.No Then
e.Cancel = True
End If
End Sub
我有一个"关闭"在此子窗口中处理的窗口内的按钮:
Private Sub MenuItem_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles mniQuitter.Click
If MessageBox.Show("Voulez-vous vraiment fermer l'outil ?", "FT_SOFT", MessageBoxButton.YesNo) = MessageBoxResult.Yes Then
RemoveHandler MyBase.Closing, AddressOf Window_Closing
MyBase.Close()
End If
End sub
单击关闭按钮时,行RemoveHandler MyBase.Closing, AddressOf Window_Closing
会阻止调用第一个子句,否则,您将获得两个MessageBox。
我正在寻找一种更简洁的方法,通过调用第二个子中的第一个子,但e
参数类型不匹配(显然)。怎么办呢?
答案 0 :(得分:1)
仅从MyBase.Close()
MenuItem_Click
Private Sub MenuItem_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles mniQuitter.Click
MyBase.Close()
End sub
下一个事件将是Window_Closing
,MessageBox将从那里出现