2013-06-06 2 views
0

ChildsControlsCreated가 true로 변경되면 컨트롤을 검사하여 변경 작업을 수행하려고합니다. 어떻게해야합니까? 나는 시도했다 ...ChildControlsCreated가 변경되었는지 어떻게 확인합니까?

if (tempControl.ChildControlsCreated == false) 
{ 
    //do something 
} 

운이없는. 다른 아이디어? 당신이 당신의 자신의 제어를 구현하는, 또는 프레임 워크에서 컨트롤을 재사용하는 경우

+0

'ChildControlsCreated'의 값을 출력 해보십시오. 또한,'== false' 대신''tempControl.ChildControlsCreated'' 전에'!'를 사용하십시오. –

+0

정확히 무엇을 만들고 싶습니까? – Saint

답변

0

, 당신은 방법 당신이 당신의 자신의 컨트롤을 작성하는 인스턴스에서 CreateChildControls

을 무시 고려할 수 있습니다 당신은 단순히 것 :

public MyControl : SomeControl 
{ 

    protected override void CreateChildControls() { 

    base.CreateChildControls(); 


    ChildControlsCreated = true; 
    } 

} 
: 다른 사람의 제어를 재사용하는 경우에
protected override void CreateChildControls() { 

    // Add a LiteralControl to the current ControlCollection. 
    this.Controls.Add(new LiteralControl("<p>New Child Control!</p>")); 


    ChildControlsCreated = true; 
} 

는, 당신은 같은 것을 할 수있는, 오버라이드 (override) 할 수있어 제공

두 경우 모두 ChildControlsCreated가 설정된 시점을 제어 할 수 있습니다. 따라서이 개념을 확장하여 컨트롤 구현에 이벤트를 추가 할 수 있습니다.이 이벤트는 값을 설정할 때 시작되어 모든 구독자가 자식 컨트롤이 생성되었음을 알 수 있습니다.

관련 문제