我有一个 Windows 窗体中的选项卡控件。它工作得很好,除了下面的例子。当我tabpage2
选择后,所有控件都tabpage1
将其visible
属性返回为 FALSE,这实际上是不正确的,因为它们都设置为visible = false
.
我想这是因为tabpage1
设置为visible = false
所有子控件都继承 FALSE。
当然,如果tabpage1
选择了,那么所有控件都会为可见属性返回正确的值。
必须有一个解决方法。有没有人有办法解决吗?
我有一个 Windows 窗体中的选项卡控件。它工作得很好,除了下面的例子。当我tabpage2
选择后,所有控件都tabpage1
将其visible
属性返回为 FALSE,这实际上是不正确的,因为它们都设置为visible = false
.
我想这是因为tabpage1
设置为visible = false
所有子控件都继承 FALSE。
当然,如果tabpage1
选择了,那么所有控件都会为可见属性返回正确的值。
必须有一个解决方法。有没有人有办法解决吗?
Visible 属性有点特殊,它的 getter 不会返回您分配的值。它告诉您控件是否实际可见。如果将其放置在未选择的标签页上,则不是。这是设计使然。
不支持获取实际的“意图可见”状态。您可以从 GetState(2) 中获取它,但这是一种内部方法。如果你真的很绝望,那么你可以使用反射。但正确的方法是自己跟踪它。
由于Visible
您的面板的属性没有按照您期望的方式运行,请尝试将面板的Tag
属性设置为某个值或其他值,并使用它来确定是否无法通过验证。
制作一个小项目来确认这一点,如果你Visible
在一个标签页上检查任何当前没有被选中的控件的属性,它会返回false,因为这个控件是不可见的。
如果您试图确定用户当前正在查看哪个标签页,最好检查 TabControl 的SelectedTab
orSelectedIndex
属性。