방법: 디자인 모드에서 컨트롤에 대한 사용자 지정 초기화 수행
업데이트: 2007년 11월
구성 요소 및 컨트롤을 디자인 환경에서 만들 때 사용자 지정 디자이너를 사용하여 초기화할 수 있습니다.
예제
다음 코드 예제에서는 컨트롤을 디자인 환경에서 만들 때 초기화하는 방법을 보여 줍니다. 컨트롤의 인스턴스를 폼으로 끌 때와 디자이너에서 폼을 시작할 때에도 이 코드를 만들 수 있습니다. 이 코드 예제에 대한 자세한 설명을 보려면 방법: 디자인 모드에서 컨트롤의 모양과 동작 확장을 참조하십시오.
' This demonstrates changing the appearance of a control while
' it is being designed. In this case, the BackColor property is
' set to LightBlue.
Public Overrides Sub InitializeNewComponent( _
ByVal defaultValues As IDictionary)
MyBase.InitializeNewComponent(defaultValues)
Dim colorPropDesc As PropertyDescriptor = _
TypeDescriptor.GetProperties(Component)("BackColor")
If colorPropDesc IsNot Nothing AndAlso _
colorPropDesc.PropertyType Is GetType(Color) AndAlso _
Not colorPropDesc.IsReadOnly AndAlso _
colorPropDesc.IsBrowsable Then
colorPropDesc.SetValue(Component, Color.LightBlue)
End If
End Sub
// This demonstrates changing the appearance of a control while
// it is being designed. In this case, the BackColor property is
// set to LightBlue.
public override void InitializeNewComponent(IDictionary defaultValues)
{
base.InitializeNewComponent(defaultValues);
PropertyDescriptor colorPropDesc =
TypeDescriptor.GetProperties(Component)["BackColor"];
if (colorPropDesc != null &&
colorPropDesc.PropertyType == typeof(Color) &&
!colorPropDesc.IsReadOnly &&
colorPropDesc.IsBrowsable)
{
colorPropDesc.SetValue(Component, Color.LightBlue);
}
}
디자인 환경에서 컨트롤이나 구성 요소의 인스턴스를 만들 때 디자이너의 InitializeNewComponent 메서드를 호출합니다. 이전의 코드 예제에서 컨트롤의 BackColor 속성은 PropertyDescriptor를 통해 설정됩니다.
코드 컴파일
구성 요소의 디자인 타임 측면을 변경한 경우 컨트롤 프로젝트를 다시 빌드해야 합니다. 또한, 현재 열려 있고 이 구성 요소를 사용하는 다른 Windows Forms 프로젝트가 있는 경우 변경 내용을 보려면 프로젝트에 대한 새로 고침을 수행해야 합니다. 일반적으로 구성 요소가 있는 디자인 창을 닫고 다시 열어야 합니다.