如果 ChildsControlsCreated 更改为 true,我正在尝试检查控件以进行更改。我怎么做?我试过了...
if (tempControl.ChildControlsCreated == false)
{
//do something
}
没有运气。还有其他想法吗?
如果 ChildsControlsCreated 更改为 true,我正在尝试检查控件以进行更改。我怎么做?我试过了...
if (tempControl.ChildControlsCreated == false)
{
//do something
}
没有运气。还有其他想法吗?
如果您正在实现自己的控件,或者您正在重用框架中的控件,则可以考虑覆盖CreateChildControls方法
在您编写自己的控件的情况下,您只需:
protected override void CreateChildControls() {
// Add a LiteralControl to the current ControlCollection.
this.Controls.Add(new LiteralControl("<p>New Child Control!</p>"));
ChildControlsCreated = true;
}
在您重用其他人的控件的情况下,只要它可用于覆盖,您可以执行以下操作:
public MyControl : SomeControl
{
protected override void CreateChildControls() {
base.CreateChildControls();
ChildControlsCreated = true;
}
}
请注意,在这两种情况下,您现在都可以控制何时设置 ChildControlsCreated。因此,您可以将此概念扩展为向您的控件实现添加一个事件,该事件将在您设置值时触发,让任何订阅者知道已创建子控件。