不可见的标签页(标签控件)上的控件返回Visible = false

Mar*_*tin 4 .net controls tabcontrol tabpage winforms

我在Windows窗体中有一个选项卡控件.除了以下示例之外,它工作得很好.当我tabpage2选择时,所有控件都tabpage1将其visible属性返回为FALSE,这实际上是不真实的,因为它们都被设置为visible = false.

我想这是因为tabpage1设置为visible = false所有子控件都继承FALSE.

当然,如果tabpage1选中,则所有控件都会返回visible属性的正确值.

必须有一个解决方法.有没有人有办法解决吗?

Han*_*ant 11

Visible属性有点特殊,它的getter不会返回您指定的值.它会告诉您控件是否实际可见.如果将其放在未选中的标签页上,则不会出现这种情况.这是设计的.

不支持获得实际的"打算可见"状态.你可以从GetState(2)中得到它,但这是一个内部方法.如果你真的很绝望,那么你可以使用Reflection.但正确的方法是自己跟踪它.


Mus*_*sis 1

由于Visible面板的属性未按您预期的方式运行,因此请尝试将面板的Tag属性设置为某个或其他,并使用它来确定是否使验证失败。