Show/Hide 和 BringToFront/SendToBack 有什么区别?在什么情况下我们应该使用一对而不是另一对?
4 回答
Show()
等效于设置Visible = true
。它不会更改控件的 Z 顺序。如果控件被 Z-order 前面的某个其他控件关闭,用户仍然无法看到您的控件。
BringToFront()
更改控件的 Z 顺序(置于前面),但不更改其可见性。如果控件被隐藏,那么它将保持隐藏状态。但是,当您使控件可见时,它将出现在所有其他控件的前面。
与Hide()
(使控件不可见,但不更改 Z 顺序) 和SendToBack
(不更改可见性,但将控件带回) 相同。
这些是完全不同的方法。
Show()
: 在视图上显示控件,通过之前初始化它的内容。
BringToFront
并SendToBack
根据Z-order
该控制对他人采取行动。但是控件已经可见。
来自 MSDN 关于BringToFront的提示:
将控件置于 z 顺序的前面。
和显示:
向用户显示控件。
Show/Hide 将在屏幕上显示或隐藏控件。基本上它使它可见或不可见。
BringToFront/SendToBack 将改变其“z”顺序。如果您在标签下有一个按钮,并且您在该按钮上调用“BringToFront”,则该按钮现在将隐藏标签。
BringToFront 只是将一个控件移动到其他控件的前面(换句话说,它将覆盖另一个控件)并且 SendToBack 将允许其他控件将其覆盖,而 Show / Hide 实际上将完全向用户显示/完全隐藏该控件。
作为一般规则,您想要显示/隐藏控件