QueryClose
양식 이벤트 발생시 서브 루틴이있는 VB6 응용 프로그램을 마이그레이션하려고합니다. 내가 알 수있는 한,이 이벤트는 더 이상 System.Windows.Forms
에 존재하지 않습니다.VB2000에서 QueryClose 양식 이벤트 해당 사항
FormClosing
이벤트가 VB.NET 양식에서 수행해야하는 것처럼 VB6 양식의 오른쪽 위 모서리에 빨간색 'X'를 클릭하면 중단 점이 테스트되고 QueryClose
이 실행됩니다.
내 질문은 : 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
이 코드
원래 내가 ArtinSoft의 Visual Basic의 업그레이드 도우미 (VBUC)를 통해 넣어 VBA/VB6했다. VBUC는 분명히 동등한 사건이 있다고 생각하지 않거나 그런 종류의 전환을 수행 할만큼 똑똑하지 않습니다. FWIW, 저는 Microsoft Visual Basic 2010 Express를 사용하고 있습니다.
VBA가 VB6이 아닙니다. 어쨌든 VBA에는 형식이 없습니다. 아마도 Excel을 의미할까요? VBA는 호스트 내에 만 생명력을 가지고 있습니다. VB6에는 QueryClose가 폼에없고 DataReports에만 있습니다. *이 *는 DataReport입니까? 아니면 QueryUnload를 의미할까요? 이러한 게시물을 덮어 쓰거나 잘못 태그하지 마십시오. VBA 태그 일 필요는 없지만 Excel-VBA, Access-VBA 등과 같은 태그는 모두 다른 물에서 헤엄 쳐야하기 때문에 태그가 없어야합니다. – Bob77
글쎄, 원래 VBA - AutoCAD 용 매크로였습니다. VB.NET으로 변환하기 전에 먼저 VB6에 양식 _ (또는 사용자가 호출 한 것) _을 포팅해야했습니다. – Wingman4l7
@BobRiemersma : Ofcourse VBA에는 UserForms가 있으며 VB6과 약간 다를 수 있습니다. – Cylian