1)如果不是MDI子窗体,可以用me.Close()关闭
2)如果是MDI子窗体,你可以把try内的do something 的这些代码写再一个函数里面,再MDI主窗体显示它之前先判断是否抛出异常,比如
Public Function myfunc() As Boolean
Try
'do something
Catch ex As Exception
Return False
End Try
Return True
End Function
然后你这样调用:
Dim frm As New FormChild1
If frm.myfunc() = True Then
frm.MdiParent = Me
frm.Show()
Else
frm.Dispose()
frm = Nothing
End If