桌面應用程序中form.Close()和form.Hide()之間的區別是什麼。差異form.Close()和form.hide()
我知道Form_Close事件不會在form.Hide()方法中觸發其他區別。
有人更快嗎?
桌面應用程序中form.Close()和form.Hide()之間的區別是什麼。差異form.Close()和form.hide()
我知道Form_Close事件不會在form.Hide()方法中觸發其他區別。
有人更快嗎?
隱藏使表單對用戶不可見。關閉實際上關閉它,並呼籲處置它。
來自:http://msdn.microsoft.com/en-us/library/system.windows.forms.form.close(v=vs.110).aspx
「當窗體關閉時,對象中創建的所有資源被關閉,並且形式設置」
form.Close()
從存儲器中卸載的形式,並使其可進行垃圾集;您不能再與代碼中的表單進行交互。
form.Hide()
只是隱藏表單,但仍然可以在代碼中與它進行交互。
所以它不是一個真正的問題,其中一個是快,而是「你真的採用這種形式完成,或者沒有」?
僅隱藏屏幕上的表單。關閉當然會關閉表單。如果你想擺脫你不想使用的表單,那麼你應該使用關閉。隱藏和關閉是不同的事情。
同上...通常,您打開表單的方式決定使用哪種方式。如果使用.Show(),表單加載並顯示時調用代碼會繼續。如果使用ShowDialog(),則在窗體加載並顯示時停止調用代碼。當您隱藏被調用表單時,調用代碼會恢復到下一個語句。
這裏是第二種情況的一個示例:
Dim frm As New frmSearch2
frm.inFormName = "frmFacility"
frm.ShowDialog(Me)
If frm.outPrimaryKey.Length > 0 Then
frmMain.Open_Form("frmFacility", frm.outPrimaryKey)
End If
frm.Close
frm = Nothing
outPrimaryKey是表單級公共變量。您也可以解決表單上的任何控件。
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.closing(v=vs.110).aspx –