我在Windows窗体中有一个标签控件。除了以下示例之外,它工作得很好。当我选择tabpage2
时,tabpage1
上的所有控件都将其visible
属性返回为FALSE,这实际上是不真实的,因为它们都设置为visible = false
。
我想这是因为tabpage1
设置为visible = false
所以所有子控件都继承FALSE。
当然,如果选择tabpage1
,则所有控件都会返回visible属性的正确值。
必须有一个解决方法。有没有人有解决方案?
答案 0 :(得分:11)
Visible属性有点特殊,它的getter不会返回您指定的值。它会告诉您控件是否实际可见。如果将其放在未选中的标签页上,则不会出现这种情况。这是设计的。
不支持获取实际的“打算显示”状态。你可以从GetState(2)中得到它,但这是一个内部方法。如果你真的很绝望,那么你可以使用Reflection。但正确的方法是自己跟踪它。
答案 1 :(得分:1)
由于面板的Visible
属性行为不符合您的预期,请尝试将Panel的Tag
属性设置为某个或其他属性,并使用它来确定是否失败验证
答案 2 :(得分:0)
制作一个小项目来确认这一点,如果你检查当前选中不的标签页上的任何控件的Visible
属性,它将返回false,因为控件是不可见。
如果您要确定用户当前正在查看哪个标签页,您可能最好检查TabControl的SelectedTab
或SelectedIndex
属性。