我在表格上有这个代码:
Function f1 as boolean
Try
------------
-----------
if condition
return true
else
return false
end if
Catch ex as Exception
Me.close
End try
End function
Private sub s1
if f1 then
instruction 1
else
instruction 2
end if
End sub
But if an exception occur inside f1 , the instruction Me.close
不会立即关闭表单,但之后 执行s1 sub上的指令2。 我该如何立即关闭表格?
Thank you!
答案 0 :(得分:0)
根据您打开表单的方式,您应该执行Me.dispose
来自MSDN的评论: 表单未在Close上处理时的两个条件是
(1)它是多文档界面(MDI)应用程序的一部分,并且 表格不可见;和
(2)您已使用显示表格 ShowDialog的。在这些情况下,您需要手动调用Dispose 标记所有表单的垃圾收集控件。
答案 1 :(得分:0)
Me.Close()
不会停止执行。由于您已处理异常,因此在调用f1
后继续执行。如果要停止执行,则必须允许异常继续:
Function f1 As Boolean
Try
'------------
'-----------
If condition Then
Return True
Else
Return False
End If
Catch ex As Exception
Me.Close()
Throw ' causes calling routines to stop executing as well
End Try
End Function