다음을 통해 공유


Visual Basic 6.0 사용자를 위한 색 동작

업데이트: 2007년 11월

Visual Basic 6.0에서는 컨트롤의 ForeColor 및 BackColor 속성이 Visual Basic 2008에서와 다르게 동작합니다.

개념적 차이

Visual Basic 6.0에서 컨트롤의 BackColor 속성과 ForeColor 속성은 디자인 타임이나 런타임에 명시적으로 설정되어야 하고 색은 상속될 수 없었습니다. 그러나 Visual Basic 2008에서 색은 디자인 타임이나 런타임에 명시적으로 설정되지 않을 수 있으며 이러한 경우에는 부모로부터 색 설정이 상속됩니다.

색 동작에 대한 코드 변경 사항

다음 예제에서는 두 개의 CommandButton 컨트롤(Command1과 Command2)이 있는 폼을 통해 이러한 동작의 차이점을 설명합니다.

' Visual Basic 6.0

' Command1's BackColor is left at its default (gray).

' Command2's BackColor is explicitly set.

Command2.BackColor = vbBlack

' Explicitly set the BackColor of the form.

Form1.BackColor = vbRed

위의 코드를 실행하면 Command1의 BackColor는 여전히 기본값인 회색으로 남아 있고 Command2의 BackColor는 검은색이 됩니다.

다음 예제에서는 Visual Basic 2008의 동작을 보여 줍니다. Visual Basic 2008에서는 CommandButton 컨트롤이 Button 컨트롤로 대체되었습니다.

' Visual Basic
' Command1's BackColor is left at its default (gray).
' Command2's BackColor is explicitly set.
Command2.BackColor = System.Drawing.Color.Black
' Explicitly set the BackColor of the form.
Me.BackColor = System.Drawing.Color.Red

위의 코드를 실행하면 Command1의 BackColor는 빨간색이 되고 Command2의 BackColor는 검은색이 됩니다. Command1의 BackColor가 명시적으로 설정되지 않았기 때문에 폼에서 빨간색이 상속됩니다.

참고:

이러한 동작은 폼 뿐만 아니라 모든 부모에 대해서도 적용됩니다. Button이 폼 내의 Panel 컨트롤에 포함되어 있으면 패널이나 폼의 색을 변경할 경우 Button의 색도 변경됩니다.

업그레이드 참고 사항

Visual Basic 6.0 응용 프로그램을 Visual Basic 2008로 업그레이드할 때 업그레이드 마법사에서는 색의 상속 여부를 확인할 수 없습니다. 업그레이드를 완료한 후 런타임에 BackColor 또는 ForeColor 속성을 명시적으로 설정하는 코드를 검색합니다. 부모에 대해 이러한 속성이 설정되어 있으면 디자인 타임에 자식 컨트롤의 색을 명시적으로 설정합니다.

참고 항목

참조

Visual Basic 6.0 사용자를 위한 색 처리

기타 리소스

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