不可见的标签页(标签控件)上的控件返回Visible = false
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不可见的标签页(标签控件)上的控件返回Visible = false相关的知识,希望对你有一定的参考价值。
我在Windows窗体中有一个选项卡控件。除了以下示例之外,它工作得很好。当我选择了tabpage2
时,tabpage1
上的所有控件都将其visible
属性返回为FALSE,这实际上是不真实的,因为它们都设置为visible = false
。
我想这是因为tabpage1
设置为visible = false
所以所有子控件都继承FALSE。
当然,如果选择了tabpage1
,则所有控件都会返回visible属性的正确值。
必须有一个解决方法。有没有人有办法解决吗?
由于面板的Visible
属性不符合您的预期,请尝试将Panel的Tag
属性设置为某个或其他属性,并使用它来确定是否验证失败。
Visible属性有点特殊,它的getter不会返回您指定的值。它会告诉您控件是否实际可见。如果将其放在未选中的标签页上,则不会出现这种情况。这是设计的。
不支持获得实际的“打算可见”状态。你可以从GetState(2)中得到它,但这是一个内部方法。如果你真的很绝望,那么你可以使用Reflection。但正确的方法是自己跟踪它。
制作一个小项目来确认这一点,如果检查当前未选中的选项卡页面上任何控件的Visible
属性,它将返回false,因为该控件不可见。
如果您要确定用户当前正在查看哪个标签页,您可能最好检查TabControl的SelectedTab
或SelectedIndex
属性。
以上是关于不可见的标签页(标签控件)上的控件返回Visible = false的主要内容,如果未能解决你的问题,请参考以下文章