【发布时间】:2011-08-24 05:35:57
【问题描述】:
我有一个包含多个选项卡的TabControl。每个选项卡上都有一个UserControl。我想从UserControl B 中检查UserControl A 上的控件x 的可见性。我认为从UserControl B 做x.Visible 就足够了。事实证明,它在调试器中显示false,即使我将它明确设置为true 并且它从未更改过。然后我在 MSDN 上看到 Control.Visible :
即使 Visible 设置为 true,如果控件隐藏在其他控件后面,用户也可能看不到该控件。
令我惊讶的是,这行不通。现在我想知道如何判断控件x 是否从不同的UserControl 可见。如果可能,我想避免使用布尔值。有没有人遇到过这个问题并找到了解决方案?
注意:在这种情况下,Control.IsAccessible 似乎也是假的。
【问题讨论】:
-
您是否尝试在容器层次结构中升序并确定如果其中任何一个不可见则不可见?
-
是的,所有的父控件都将
Visible属性设置为false。 -
所以你不可见,对吗?
-
控件本身是可见的,只是对用户不可见。
-
好吧,我的意思是 - 如果控件及其所有容器都可见,那么控件是真正可见的。
标签: c# winforms .net-3.5 controls visibility