Visual Basic 6.0 사용자를 위한 PictureBox 컨트롤

업데이트: 2007년 11월

Visual Basic 6.0의 PictureBox 컨트롤은 Visual Basic 2008에서 Windows Forms PictureBox 컨트롤로 대체되었습니다. 일부 속성, 메서드, 이벤트 및 상수의 이름이 다르고 경우에 따라서는 동작도 다릅니다.

개념적 차이

컨테이너로서의 PictureBox

Visual Basic 6.0 PictureBox 컨트롤은 컨테이너 컨트롤로서 그림을 표시하는 것을 비롯하여 다른 컨트롤을 그룹화하고 표시하는 데 사용할 수 있습니다.

Visual Basic 2008PictureBox 컨트롤은 컨테이너 컨트롤이 아니며 그림을 표시하는 데만 사용됩니다. 대신 새 Panel 컨트롤을 컨테이너 컨트롤이 필요한 PictureBox 컨트롤의 대체 컨트롤로 사용할 수 있습니다.

AutoSize 속성

Visual Basic 6.0에서는 AutoSize 속성이 PictureBox 컨트롤을 해당 디자인 타임의 크기로 유지(AutoSize = False)할 것인지 아니면 그림 치수에 맞게 자동으로 크기를 변경(AutoSize = True)할 것인지 여부를 결정합니다.

Visual Basic 2008에서는 AutoSize 속성이 SizeMode 속성으로 대체되었습니다. NormalAutoSize 모드를 비롯하여 그림을 가운데에 배치하거나, 확장하거나, 확대/축소하는 데도 옵션을 사용할 수 있습니다.

그래픽 속성 및 메서드

Visual Basic 6.0에서는 여러 가지 그래픽 속성과 메서드를 사용하여 선, 모양 및 텍스트를 PictureBox 컨트롤의 위에 그릴 수 있습니다.

Visual Basic 2008에서는 컨트롤에 그래픽 속성이나 메서드가 없지만 T:System.Drawing.Graphics 개체를 사용하여 PictureBox 컨트롤의 위에 그릴 수 있습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 그래픽을 참조하십시오.

기타 차이점

또한, 모든 컨트롤에 적용되는 개념적인 차이가 많습니다(데이터 바인딩, 글꼴 처리, 끌어서 놓기, 도움말 지원 등의 차이 포함). 자세한 내용은 Visual Basic 6.0 사용자를 위한 Windows Forms 개념을 참조하십시오.

PictureBox 컨트롤에 대한 코드 변경 사항

다음 예제에서는 Visual Basic 6.0과 Visual Basic 2008 간 코딩 기술의 차이점을 보여 줍니다.

그림을 표시하는 방법에 대한 코드 변경 사항

다음 코드에서는 런타임에서 PictureBox 컨트롤에 그림을 표시하는 방법을 보여 줍니다.

' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\somepicture.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
  My.Application.Info.DirectoryPath & "\somepicture.jpg")

PictureBox 컨트롤을 지우는 방법에 대한 코드 변경 사항

다음 코드에서는 이미지가 표시되지 않도록 런타임에서 PictureBox 컨트롤을 지우는 방법을 보여주는 코드입니다.

' Visual Basic 6.0
Picture1.Picture = LoadPicture("")
' Visual Basic
If Not (PictureBox1.Image Is Nothing) Then
    PictureBox1.Image.Dispose()
    PictureBox1.Image = Nothing
End If

PictureBox 컨트롤에서 그리는 방법에 대한 코드 변경 사항

다음 코드에서는 런타임에서 PictureBox 컨트롤의 중앙에 지름이 40픽셀인 빨간색 원을 그리는 방법을 보여 줍니다.

' Visual Basic 6.0
Private Sub Picture1_Paint
    Dim x As Integer
    Dim y As Integer
    Picture1.ScaleMode = vbPixels
    x = Picture1.ScaleWidth / 2
    y = Picture1.ScaleHeight / 2
    Picture1.Circle (x, y), 20, vbRed
End Sub
' Visual Basic
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e _
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    Dim radius As Integer = 20
    Dim diameter As Integer = radius * 2
    Dim x As Integer = (PictureBox1.Width / 2) - radius
    Dim y As Integer = (PictureBox1.Height / 2) - radius
    e.Graphics.DrawEllipse(Pens.Red, x, y, diameter, diameter)
End Sub

PictureBox 컨트롤 속성, 메서드, 이벤트에 해당하는 요소

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

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

속성

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Align

Dock

Appearance

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

AutoRedraw

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

AutoSize

SizeMode

BackColor

BackColor

참고:

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

BorderStyle

BorderStyle

참고:

Visual Basic 6.0에서는 기본값이 Fixed Single이며 Visual Basic 2008에서는 기본값이 None입니다.

ClipControls

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

Container

Parent

CurrentX

CurrentY

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

DataChanged

DataField

DataFormat

DataMember

DataSource

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 데이터 액세스를 참조하십시오.

DragIcon

DragMode

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

DrawMode

DrawStyle

DrawWidth

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

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 사용자를 위한 그래픽을 참조하십시오.

참고:

Visual Basic 2008에서는 Image 속성이 그래픽 속성이 아닙니다. 이 속성은 Visual Basic 6.0의 Picture 속성에 해당합니다.

Index

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 컨트롤 배열을 참조하십시오.

Left

Left

참고:

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

LinkItem

LinkMode

LinkTimeOut

LinkTopic

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

MouseIcon

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

MousePointer

Cursor

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

OLEDragMode

OLEDropMode

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

Parent

FindForm

Picture

Image

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

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

ToolTipText

ToolTip 구성 요소

자세한 내용은 Visual Basic 6.0 사용자를 위한 도구 설명 지원을 참조하십시오.

Top

Top

참고:

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

WhatsThisHelpID

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

Width

Width, Size

참고:

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

메서드

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Circle

Cls

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

Drag

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

Line

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

LinkExecute

LinkPoke

LinkRequest

LinkSend

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

Move

SetBounds

참고:

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

OLEDrag

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

PaintPicture

Point

Print

PSet

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

Scale

ScaleX

ScaleY

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

SetFocus

Focus

ShowWhatsThis

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

TextHeight

TextWidth

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

ZOrder

BringToFront 또는 SendToBack 메서드

이벤트

Visual Basic 6.0

동일한 기능의 Visual Basic 2008 요소

Change

새롭게 구현되었습니다. 일부 속성이 변경될 때 발생하는 BackgroundImageChanged, SizeChanged 등의 개별적인 이벤트가 있습니다.

DblClick

DoubleClick

DragDrop

DragOver

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

GotFocus

Enter

KeyDown

KeyPress

KeyUp

새롭게 구현되었습니다. Visual Basic 2008PictureBox 컨트롤은 컨테이너 컨트롤이 아니며 키 입력을 받아들이지 않습니다.

LinkClose

LinkError

LinkNotify

LinkOpen

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

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

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

Validate

Validating

업그레이드 참고 사항

업그레이드할 때 다른 컨트롤이 포함된 PictureBox 컨트롤은 Panel 컨트롤로 업그레이드됩니다. Panel 컨트롤로 업그레이드된 Visual Basic 6.0 PictureBox 컨트롤의 경우 Picture 속성에 할당된 이미지는 Panel 컨트롤의 BackgroundPicture 속성에 매핑됩니다.

참고 항목

참조

PictureBox 컨트롤 개요(Windows Forms)