2012-10-05 5 views
0

컨트롤을 디자이너를 통해 폼에 추가 할 때 컨트롤의 모든 속성이 디자이너 코드에 나타나지는 않습니다. 예를 들어 ListBox을 추가하면 True으로 설정하지 않는 한 UseWaitCursor 속성이 디자이너 코드에 나타나지 않습니다. 내가 False으로 변경하면 디자이너 코드에서 사라져서 속성이 어떻게 든 기본값을 가지며 디자이너 코드에 나타나지 않으면 기본값으로 남게됩니다.컨트롤의 기본 속성

디자이너가 작동하는 방식과이 모든 것이 추적되는 위치를 이해할 수 있습니까? 내가 물어 보는 이유는 현재 런타임에 동적으로 초기화 할 타사 ActiveX 컨트롤을 확장하는 클래스를 작성 중입니다. 디자이너 코드를 통해 (타사 컨트롤이 디자이너를 통해 추가 될 때) 많은 속성이 나타나지 않았습니다.

답변

2

[DefaultValue] 속성을 사용하여 수행됩니다. Control.UseWaitCursor 속성이 유사합니다 : 당신은 속성 창에서 거짓의 값을두면 그럼 디자이너가 굵게의 값을 표시 할 것을 알고는 필요하지 않다고

[DefaultValue(false)] 
public bool UseWaitCursor 
{ 
    // etc.. 
} 

default가 이미 유효하기 때문에 InitializeComponent() 메서드에 속성 할당을 지정합니다. ActiveX 컨트롤에는 확실히 기본값으로 설정된 많은 속성이 있습니다.

관련 문제