表单关闭事件
Form Closing Event
我的论坛继承了一个基本形式 class。在以继承形式执行代码之前,是否可以从基本形式执行代码?我检查一下他们是否想在基础 class 中关闭并且在他们对弹出表单说“是”之前我不想执行任何操作。我怎样才能做到这一点?
不是在您的子class中处理事件,而是覆盖 OnFormClosing 方法。然后你可以让基础 class 实现按照它的选择去做。然后做你的事情。
Protected Overrides Sub OnFormClosing(e As System.Windows.Forms.FormClosingEventArgs)
MyBase.OnFormClosing(e)
'my stuff
End Sub
假设您已经在基础 class 的 FormClosing 事件中将 e.Cancel 属性 设置为 true 或 false,您只需检查 e.Cancel继承形式的值:
Protected Overrides Sub OnFormClosing(e As FormClosingEventArgs)
MyBase.OnFormClosing(e)
If Not e.Cancel Then
MessageBox.Show("Doing Stuff")
End If
End Sub
为了获得我想要的确切行为,我在基本 Closing 事件中添加了两个事件。一个是在检查之后,另一个是在代码执行之后。然后,我替换了 Inherited class 上的 FormClosing 事件以使用这两个事件。这种方法给了我更多的自由,然后只是调用 mybase.OnFormClosing
我的论坛继承了一个基本形式 class。在以继承形式执行代码之前,是否可以从基本形式执行代码?我检查一下他们是否想在基础 class 中关闭并且在他们对弹出表单说“是”之前我不想执行任何操作。我怎样才能做到这一点?
不是在您的子class中处理事件,而是覆盖 OnFormClosing 方法。然后你可以让基础 class 实现按照它的选择去做。然后做你的事情。
Protected Overrides Sub OnFormClosing(e As System.Windows.Forms.FormClosingEventArgs)
MyBase.OnFormClosing(e)
'my stuff
End Sub
假设您已经在基础 class 的 FormClosing 事件中将 e.Cancel 属性 设置为 true 或 false,您只需检查 e.Cancel继承形式的值:
Protected Overrides Sub OnFormClosing(e As FormClosingEventArgs)
MyBase.OnFormClosing(e)
If Not e.Cancel Then
MessageBox.Show("Doing Stuff")
End If
End Sub
为了获得我想要的确切行为,我在基本 Closing 事件中添加了两个事件。一个是在检查之后,另一个是在代码执行之后。然后,我替换了 Inherited class 上的 FormClosing 事件以使用这两个事件。这种方法给了我更多的自由,然后只是调用 mybase.OnFormClosing