2012-02-24 53 views
0

我有此代碼的形式上:VB.net:如何即時關閉表單?

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的子 指令2之後。 我該怎麼做才能立即關閉表格?

Thank you! 
+1

我確定'Me.Close()'會立即停止執行方法(F1)。你必須改寫你的文章,並在F1函數的catch塊中添加'return'語句。 – adatapost 2012-02-24 03:39:44

回答

0

取決於您如何打開表單,你應該從MSDN做Me.dispose

備註: 兩個條件時,不設置在關閉一個表單時

(1)它是多文檔界面(MDI)應用程序的一部分,並且該表單是不可見的;和
(2)您已經使用ShowDialog顯示錶格 。在這些情況下,您需要手動調用Dispose來 標記垃圾收集的所有表單控件。

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