다음을 통해 공유


Visual Basic 6.0 사용자를 위한 폼 이벤트

업데이트: 2007년 11월

Visual Basic 6.0과 Visual Basic 2008 간의 폼 이벤트 동작에는 약간의 차이가 있습니다.

개념적 차이

Initialize 이벤트

Visual Basic 6.0에서는 폼이 로드되기 전에 코드를 실행하는 데 Initialize 이벤트를 사용합니다.

그러나 Visual Basic 2008에서는 다음 예제처럼 InitializeComponent()를 호출한 후 폼 생성자(Sub New())에 초기화 코드를 추가해야 합니다.

' Visual Basic 6.0 
Private Sub Form_Initialize()
    MsgBox("The form is loading")
End Sub

 

' Visual Basic .NET 
Public Sub New()
    ' This call is required by the Windows Form Designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.
    MsgBox("The form is loading")
End Sub
참고:

Initialize 이벤트는 폼을 로드하는 동안 정보를 표시하는 "시작" 폼을 표시하는 데 주로 사용됩니다. Visual Basic 2008 응용 프로그램에는 응용 프로그램을 시작하는 동안 폼을 자동으로 표시하는 데 사용할 수 있는 SplashScreen 속성이 있습니다. 자세한 내용은 방법: 응용 프로그램의 시작 화면 지정(Visual Basic)을 참조하십시오.

Terminate 이벤트

또한 Visual Basic 6.0에서는 폼을 언로드한 후 코드를 실행하는 데 Terminate 이벤트를 사용합니다.

Visual Basic 2008에서는 Terminate 이벤트가 더 이상 지원되지 않습니다. 따라서 종료 코드는 MyBase.Dispose() 호출 전에 Dispose 메서드 내에서 실행되어야 합니다.

참고:

응용 프로그램의 기본 폼에 대해서는 Dispose 메서드가 자동으로 호출되지만, 기타 다른 폼의 경우에는 이 메서드를 명시적으로 호출해야 합니다.

다음 예제에서는 이러한 차이를 보여 줍니다.

' Visual Basic 6.0 
Private Sub Form_Terminate()
    MsgBox "The form was terminated"
End Sub

 

' Visual Basic .NET 
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing AndAlso components IsNot Nothing Then
        MsgBox("The form was terminated")
        components.Dispose()
    End If
    MyBase.Dispose(disposing)
End Sub

Unload 이벤트

Visual Basic 6.0에서는 Unload 이벤트에 Cancel 인수가 있습니다. 그러나 Visual Basic 2008에서 이 이벤트는 Cancel 인수가 없는 Closed 이벤트로 대체되었습니다. 따라서 언로드하는 동안 취소하려면 대신 Closing 이벤트를 사용해야 합니다.

MDI 폼의 마우스 이벤트

Visual Basic 6.0에서는 MDI 폼에 대해 마우스 이벤트가 지원됩니다. Visual Basic 2008에서는 MDI 폼에 마우스 이벤트를 받을 클라이언트 영역이 없으므로 MDI 폼에 대해 Click, MouseDown, MouseMove 및 MouseUp 이벤트가 더 이상 지원되지 않습니다.

참고 항목

개념

Visual Basic 6.0 사용자를 위한 Form 개체

참조

Form

Form.Closing