我正在迁移一个 VB6 应用程序,它有一个触发QueryClose
表单事件的子例程。据我所知,这个事件不再存在于System.Windows.Forms
.
我使用断点进行了测试,QueryClose
当您单击 VB6 表单右上角的红色“X”时会触发,就像FormClosing
在 VB.NET 表单中应该执行的事件一样。
我的问题是:是否FormClosing
具有最接近的等效功能QueryClose
,或者我应该使用不同的事件?
Private Sub UserForm_QueryClose(ByRef Cancel As Integer, ByRef CloseMode As Integer)
writeToLog()
writeRecentFoldersToFile(myTempFilePath & "Recent Folders.txt")
writePageSetupDefaultsToFile(myTempFilePath & "Page Setup.txt")
writeFormPositionToFile(myTempFilePath & "Form Position.txt")
userformKillTimer(Me, Me.Text)
End Sub
这段代码最初是 VBA / VB6,我通过 ArtinSoft 的 Visual Basic Upgrade Companion (VBUC) 完成的。VBUC 显然不认为存在等效事件,或者没有足够聪明来进行这种转换。FWIW,我正在使用 Microsoft Visual Basic 2010 Express。