Control.Visible的查询集/内部值

是否有一种机制来读取SET设置为控件的可见属性的值?Control.Visible的查询集/内部值

ChildControl1.Visible = true; 

ChildControl2.Visible = false;

ParentControl.Visible = false;

bool childControl1Visible = ChildControl1.Visible

bool childControl2Visible = ChildControl2.Visible

在上面的例子中,两个childControl1Visible和childControl2Visible将返回false既不会由于被渲染到ParentControl的可见性。

我正在寻找一种方法来确定是否将子控件本身设置为可见真/假,而不管在任何父控件上设置的值如何。

回答:

没有办法获得内部值 - 它全部保存在名为flags(see source)的internal位向量中。

您将不得不在别处手动跟踪可见属性,或者将控件包装在自己的继承类中,您可以在其中覆盖Visible属性并在其中公开该值。例如:

public class MyTextBox : System.Web.UI.WebControls.TextBox 

{

public bool Visible

{

get

{

return base.Visible;

}

set

{

ReallyVisible = value;

vase.Visible = value;

}

}

public bool ReallyVisible { get; private set; }

}

您可能想要选择一个更好的属性名称!

另一个拙劣的方法是使用反射来获取内部价值。请参阅here以了解执行此操作的方法。

以上是 Control.Visible的查询集/内部值 的全部内容, 来源链接: utcz.com/qa/264061.html

回到顶部