2013-06-06 5 views
0

J'essaye de vérifier un contrôle pour apporter des modifications si ChildsControlsCreated est changé en vrai. Comment je fais ça? J'ai essayé ...Comment vérifier si ChildControlsCreated a été modifié?

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

sans aucune chance. D'autres idées?

+0

Essayez de sortir la valeur de 'ChildControlsCreated'. En outre, utilisez un '!' Avant 'tempControl.ChildControlsCreated' au lieu de' == false'. –

+0

Que voulez-vous faire exactement? – Saint

Répondre

0

Si vous implémentez votre propre contrôle, ou vous réutilisez un contrôle du cadre, vous pourriez envisager redéfinissant la méthode CreateChildControls

Dans le cas où vous écrivez votre propre contrôle, vous le feriez simplement:

protected override void CreateChildControls() { 

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


    ChildControlsCreated = true; 
} 

Dans le cas où vous réutilisez un contrôle de quelqu'un d'autre, à condition qu'il soit disponible pour des raisons impérieuses, vous pouvez faire quelque chose comme:

public MyControl : SomeControl 
{ 

    protected override void CreateChildControls() { 

    base.CreateChildControls(); 


    ChildControlsCreated = true; 
    } 

} 

Notez que dans les deux cas, vous contrôlez maintenant lorsque ChildControlsCreated est défini. Vous pouvez donc étendre ce concept à l'ajout d'un événement à votre implémentation de contrôle, qui serait déclenché lorsque vous définissez la valeur, en laissant savoir à tout abonné que des contrôles enfants ont été créés.

Questions connexes