明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

怎么在VB中把窗體刪除干凈

[摘要]VB的End語(yǔ)句并不總是將在程序中打開(kāi)的東西卸載得一干二凈。例如你在程序中打開(kāi)了一個(gè)文件,而沒(méi)有用Close語(yǔ)句關(guān)閉這個(gè)文件,這時(shí)你通過(guò)程序中的End語(yǔ)句結(jié)束了程序,Windows就會(huì)認(rèn)為你打開(kāi)的文...
VB的End語(yǔ)句并不總是將在程序中打開(kāi)的東西卸載得一干二凈。例如你在程序中打

開(kāi)了一個(gè)文件,而沒(méi)有用Close語(yǔ)句關(guān)閉這個(gè)文件,這時(shí)你通過(guò)程序中的End語(yǔ)句結(jié)

束了程序,Windows就會(huì)認(rèn)為你打開(kāi)的文件正在被一個(gè)程序所使用,導(dǎo)致你在資源

管理器中無(wú)法刪除該文件。在有些情況下,如果你只用End語(yǔ)句來(lái)結(jié)束程序,會(huì)導(dǎo)

致一些非常嚴(yán)重的后果,例如Windows會(huì)發(fā)出錯(cuò)誤的信息,告訴你C盤(pán)損壞等等。


因此最好是自己編寫(xiě)一個(gè)關(guān)閉子程序:

Public Sub Shutdown(Optional ByVal Force As Boolean = False)

Dim I As Long


On Error Resume Next


For I = Forms.Count - 1 to 0 Step -1

Unload Forms(I) ' Triggers QueryUnload and Form_Unload


' If we aren't in Force mode and the

' unload failed, stop the shutdown.

If Not Force Then

If Forms.Count > I then

Exit Sub

End If

End If

Next I


' If we are in Force mode OR all

' forms unloaded, close all files.

If Force Or (Forms.Count = 0) Then Close


' If we are in Force mode AND all

' forms not unloaded, end.

If Force Or (Forms.Count > 0) Then End

End Sub