다음을 통해 공유


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

업데이트: 2007년 11월

Visual Basic 6.0의 Form 개체는 Visual Basic 2008에서 Form 클래스로 대체되었습니다. 일부 속성, 메서드, 이벤트 및 상수의 이름이 다르고 경우에 따라서는 동작도 다릅니다.

개념적 차이

Activate 및 Deactivate 이벤트

Visual Basic 6.0의 Activate 이벤트와 Deactivate 이벤트는 폼 간에 전환하는 경우에만 발생합니다.

Visual Basic 2008에서는 Activated 이벤트와 Deactivate 이벤트가 응용 프로그램 간에 전환하는 경우에도 발생합니다.

QueryUnload 이벤트

Visual Basic 6.0에서는 QueryUnload 이벤트에서 Cancel 및 UnloadMode 인수를 사용합니다. UnloadMode 인수를 쿼리하여 폼이 언로드된 이유를 확인한 다음 필요한 경우 취소할 수 있습니다.

Visual Basic 2008에서는 QueryUnload 이벤트가 FormClosing 이벤트로 대체되었고 UnloadMode가 CloseReason으로 대체되었습니다.

Picture 속성

Visual Basic 6.0에서는 비트맵이 폼보다 작은 경우 Picture 속성에 할당된 이미지가 폼의 왼쪽 위 모퉁이에 표시됩니다.

Visual Basic 2008에서는 Picture 속성이 BackgroundImage 속성으로 대체되었습니다. BackgroundImage 속성에 할당된 이미지가 폼보다 작은 경우 기본적으로 바둑판식으로 표시됩니다.

Moveable 속성

Visual Basic 6.0에서는 폼의 Moveable 속성을 False로 설정하여 사용자가 런타임에 해당 폼을 이동하는 것을 방지할 수 있습니다. Visual Basic 2008의 Windows 폼에는 이에 해당하는 속성이 없습니다.

일반적으로 권장할 만한 사용자 인터페이스 디자인은 아니지만 FormBorderStyle 속성을 None으로 설정한 다음 ControlBox 속성을 False로 설정하여 Visual Basic 2008에서 유사한 동작을 수행할 수 있습니다.

ValidateControls 메서드

Visual Basic 6.0에서 ValidateControls 메서드는 폼이 닫힐 때 포커스가 있는 컨트롤에 대해 Validate 이벤트를 실행할 때 사용됩니다. Validate 이벤트가 실패하면 오류가 발생합니다.

Visual Basic 2008에서는 ValidateControls 메서드가 True 또는 False를 반환하는 Validate 메서드로 대체되었습니다.

MDI 폼에 대한 마우스 이벤트

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

Form 개체에 대한 코드 변경 사항

다음 예제에서는 Visual Basic 6.0의 코딩 기술과 Visual Basic 2008의 코딩 기술이 어떻게 다른지 보여 줍니다.

폼이 닫힌 원인을 확인하는 방법에 대한 코드 변경 사항

다음 코드를 사용하면 폼이 닫힌 원인을 확인하고 그 원인에 맞는 동작을 결정할 수 있습니다. Visual Basic 6.0의 예제에서는 QueryUnload 이벤트의 UnloadMode 인수가 사용됩니다. Visual Basic 2008의 예제에서는 해당 인수가 FormClosing 이벤트 처리기의 CloseReason 매개 변수로 대체되었습니다.

' Visual Basic 6.0
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbFormControlMenu Then
        Cancel = True
    End If
End Sub
' Visual Basic
Private Sub Form1_FormClosing(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
    If e.CloseReason.UserClosing Then
        e.Cancel = True
    End If
End Sub

폼이 닫힐 때 컨트롤의 유효성을 검사하는 방법에 대한 코드 변경 사항

다음 코드에서는 폼이 닫힐 때 포커스가 있는 컨트롤의 유효성을 검사하는 방법을 보여 줍니다. 이 예제에서는 TextBox 컨트롤의 CausesValidation 속성을 기본값인 True로 설정하는 것으로 가정합니다.

' Visual Basic 6.0
Private Sub Text1_Validate(Cancel As Boolean)
    If Text1.Text = "" Then
        MsgBox ("Please enter a name")
        Cancel = True
End If

Private Sub Form_Unload(Cancel As Integer)
    OnError GoTo ERR_HANDLER
    Me.ValidateControls

ERR_HANDLER:
    ' If validation failed cancel the Unload event.
    If Err.Number = 380 Then
        Cancel = True
    End If
End Sub
' Visual Basic
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
    If TextBox1.Text = "" Then
        MsgBox("Please enter a name")
        e.Cancel = True
    End If
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e _
As System.Windows.Forms.FormClosingEventArgs) Handles _
MyBase.FormClosing
    ' If validation failed cancel the Closing event.
    If Me.Validate = False Then
        e.Cancel = True
    End If
End Sub

Form 개체 속성, 메서드, 이벤트에 해당하는 요소

다음 표에서는 Visual Basic 6.0의 속성, 메서드, 이벤트 및 이에 해당하는 Visual Basic 2008 요소를 보여 줍니다. 이름과 동작이 같은 속성, 메서드 및 이벤트는 나열되지 않습니다. 속성 또는 메서드 아래에 들여쓰기되어 있는 부분은 상수를 의미합니다. 다른 설명이 없는 한 모든 Visual Basic 2008 열거형은 System.Windows.Forms 네임스페이스로 매핑됩니다.

필요한 경우 동작의 차이점을 설명하는 항목에 대한 링크가 제공되며 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.

Form 속성

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Appearance

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Appearance 및 BorderStyle 속성을 참조하십시오.

AutoRedraw

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

BackColor

BackColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

BorderStyle

FormBorderStyle

Caption

Text

ClipControls

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Controls

Controls

참고:

Visual Basic 2008의 Controls 컬렉션에는 차이점이 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Controls 컬렉션을 참조하십시오.

Count

Count

참고:

Visual Basic 2008의 Controls 컬렉션에는 차이점이 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Windows Forms 컨트롤을 참조하십시오.

CurrentX

CurrentY

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

DrawMode

DrawStyle

DrawWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

FillColor

FillStyle

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

참고:

Visual Basic 2008에서는 글꼴이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Font 개체를 참조하십시오.

ForeColor

ForeColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

HasDC

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

HDC

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Height

Height, Size

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

HelpContextID

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

HWnd

Handle

Image

새롭게 구현되었습니다. Visual Basic 6.0의 Image 속성에서는 비트맵에 대한 핸들을 반환하지만 Visual Basic 2008 이미지에는 핸들이 없습니다.

Left

Left

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

LinkMode

LinkTopic

해당 요소가 없습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 동적 데이터 교환을 참조하십시오.

MaxButton

MaximizeBox

MDIChild

MdiParent

참고:

Visual Basic 2008에서는 MDI 동작이 다릅니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 MDI를 참조하십시오.

MinButton

MinimizeBox

MouseIcon

새롭게 구현되었습니다. 자세한 내용은 사용자 지정 MousePointer를 설정할 수 없습니다.를 참조하십시오.

MousePointer

Cursor

상수 목록은 Visual Basic 6.0 사용자를 위한 MousePointer를 참조하십시오.

Moveable

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Moveable 속성을 참조하십시오.

Name

Name

NegotiateMenus

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Menu 개체를 참조하십시오.

OLEDropMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

Palette

PaletteMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색상표를 참조하십시오.

Picture

BackgroundImage

참고:

Visual Basic 6.0에서는 폼의 왼쪽 위 모퉁이에 Picture가 표시되지만 Visual Basic 2008에서는 BackgroundImage가 바둑판식으로 표시됩니다.

RightToLeft:

True

False

RightToLeft

Yes 열거형 값

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

StartUpPosition:

0 – Manual

1 – CenterOwner

2 – CenterScreen

3 – Windows Default

StartPosition

 Manual 열거형 값

 CenterParent 열거형 값

 CenterScreen 열거형 값

 WindowsDefaultLocation 열거형 값

Top

Top

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

WhatsThisButton

HelpButton

참고:

Visual Basic 2008의 도움말 동작에는 차이점이 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

WhatsThisHelp

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

Width

Width, Size

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

Form 메서드

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Circle

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Cls

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Line

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Move

SetBounds

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

OLEDrag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

PaintPicture

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Point

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

PopupMenu

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Menu 개체를 참조하십시오.

PrintForm

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 인쇄 변경 사항을 참조하십시오.

Pset

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

Scale

ScaleX

ScaleY

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

SetFocus

Activate

Show

Show 또는 ShowDialog

TextHeight

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

TextWidth

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

ValidateControls

Validate

참고:

Validate 메서드는 True 또는 False를 반환합니다. 유효성 검사가 실패하면 ValidateControls가 오류를 발생시킵니다.

WhatsThisMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

ZOrder:

 0 – vbBringToFront

 1 - vbSendToBack

BringToFront 또는 SendToBack 함수

 BringToFront

 SendToBack

Form 이벤트

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Activate

Activated

참고:

Visual Basic 6.0의 Activate 이벤트는 응용 프로그램 내의 폼 간에 전환하는 경우에만 발생합니다. Visual Basic 2008에서는 응용 프로그램 간에 전환하는 경우에도 Activated 이벤트가 발생합니다.

Click

Click

참고:

MDI 폼에는 Click 이벤트가 지원되지 않습니다.

DblClick

DoubleClick

Deactivate

Deactivate

참고:

Visual Basic 6.0의 Deactivate 이벤트는 응용 프로그램 내의 폼 간에 전환하는 경우에만 발생합니다. Visual Basic 2008에서는 응용 프로그램 간에 전환하는 경우에도 이 이벤트가 발생합니다.

DragDrop

DragOver

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

GotFocus

Enter

Initialize

New 메서드

참고:

New 메서드의 동작은 Initialize 이벤트의 동작과 다릅니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 폼 작업을 참조하십시오.

LinkClose

LinkError

LinkExecute

LinkOpen

해당 요소가 없습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 동적 데이터 교환을 참조하십시오.

MouseDown

MouseDown

참고:

MDI 폼에는 MouseDown 이벤트가 지원되지 않습니다.

MouseMove

MouseMove

참고:

MDI 폼에는 MouseMove 이벤트가 지원되지 않습니다.

MouseUp

MouseUp

참고:

MDI 폼에는 MouseUp 이벤트가 지원되지 않습니다.

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

QueryUnload

FormClosing

참고:

Visual Basic 6.0에서는 QueryUnload에서 Cancel 및 UnloadMode 인수를 사용합니다. Visual Basic 2008에서는 Cancel이 Cancel로 대체되었고 UnloadMode가 CloseReason으로 대체되었습니다.

Terminate

Dispose 메서드

참고:

Dispose 메서드의 동작은 Terminate 이벤트 동작과 다릅니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 폼 이벤트를 참조하십시오.

Unload

FormClosing

참고:

FormClosing 이벤트의 동작은 Unload 이벤트의 동작과 다릅니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 폼 이벤트를 참조하십시오.

참고 항목

개념

Visual Basic 6.0 사용자를 위한 폼 작업

기타 리소스

Windows Forms