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