.net 在我打电话给我之前,关闭事件。关闭
我有一个表单(.net 在我打电话给我之前,关闭事件。关闭,.net,vb.net,winforms,modal-dialog,.net,Vb.net,Winforms,Modal Dialog,我有一个表单(frmMain)可以打开另一个表单(frmEdit) 这反过来会打开第三个表单(frmSelection) 我的问题是当frmSelection关闭时,frmEdit也会关闭,但实际上在我的代码中没有任何东西关闭它 请注意,frmEdit frmMain中的代码 Using edit as New frmEdit edit.ShowDialog End Using frmEdit中的代码: Private Sub btnEditSelectionCriteria_Clic
frmMain
)可以打开另一个表单(frmEdit
)
这反过来会打开第三个表单(frmSelection
)
我的问题是当frmSelection
关闭时,frmEdit
也会关闭,但实际上在我的代码中没有任何东西关闭它
请注意,frmEdit
frmMain中的代码
Using edit as New frmEdit
edit.ShowDialog
End Using
frmEdit
中的代码:
Private Sub btnEditSelectionCriteria_Click(sender As Object, e As EventArgs) Handles btnEditSelectionCriteria.Click
Using sel As New frmSelection
sel.ShowDialog
End Using
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Me.Close ' this is not called (breakpoint is not hit)
End Sub
Private Sub frmEditTask_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
'This fires when OK button clicked in frmSelection
End Sub
frmSelection
中的代码:
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Me.Close ' this causes the FormClosing event to fire in frmEdit
End Sub
我怎样才能追踪到什么是关闭我的表格?我认为可能会抛出异常,但我在公共语言运行时异常中检查了抛出,但没有结果 我找到了这个挠头的来源-多亏了@Idle\u Mind的指针:-
我的按钮btnEditSelectionCriteria
将对话框结果
属性设置为取消
这其实是个骗局。如果在表单上创建按钮,然后将表单的CancelButton
属性设置为该按钮,则该按钮的DialogResult
属性将更改为Cancel
这就是我所做的,然后我复制并粘贴了取消按钮到btnEditSelectionCriteria
,并保留了cancel
的DialogResult
属性。我找到了这个抓头器的来源-感谢@Idle\u Mind的指针:-
我的按钮btnEditSelectionCriteria
将对话框结果
属性设置为取消
这其实是个骗局。如果在表单上创建按钮,然后将表单的CancelButton
属性设置为该按钮,则该按钮的DialogResult
属性将更改为Cancel
这就是我所做的,然后我复制并粘贴了取消按钮到btnEditSelectionCriteria
,这保留了cancel
的DialogResult
属性。在快速测试中,我无法再现您的症状。不过,另一方面,您不应该使用Me.Close
设置DialogResult,而应该使用如下内容:Me.DialogResult=Windows.Forms.DialogResult.OK
您是否将frmSelection的所有者指定为frmEdit@理查德摩根-这在快速测试中没有任何效果,我无法重现你的症状。不过,另一方面,您不应该使用Me.Close
设置DialogResult,而应该使用如下内容:Me.DialogResult=Windows.Forms.DialogResult.OK
您是否将frmSelection的所有者指定为frmEdit@理查德摩根-这没有任何影响