我在面板中有一个文本框。
如果TextBow.Visible = true且Panel.Visible = False,
无论如何,我可以告诉用户实际上看不到文本框,虽然它是可见的。
更大的清晰度。
我在一个不可见的面板中有一个可见的文本框。因为面板不可见,但内部的控件是,检查文本框的visibie属性不能给我所需的答案。
我真正想要的是如何检查用户是否能够真正看到控件。
答案 0 :(得分:1)
如果控件的任何父级是不可见的,也许可以使用递归方法检查?
如果为true,则控件不可见。如果所有父母都可见,则控制也是可见的,除非控件本身不可见。
像这样:
public bool isVisible(Control c)
{
if (c.Visible == false)
return false;
else
if (c.Parent != null)
return isVisible(c);
else
return c.Visible;
}