控件的Show和BringToFront有什么区别?

4
Show/Hide和BringToFront/SendToBack有什么区别?在什么情况下我们应该使用其中一对而不是另一对?
4个回答

7
Show()等同于将Visible = true。它不会改变控件的 Z 顺序。如果控件被某个在 Z 顺序前面的其他控件关闭,用户仍然无法看到您的控件。 BringToFront()更改控件的 Z 顺序(置于前端),但不更改其可见性。如果控件被隐藏,则仍将保持隐藏。但是,当您使控件可见时,它将出现在所有其他控件的前面。 Hide()也是同样的道理(使控件不可见,但不更改 Z 顺序),而 SendToBack 则不更改可见性,但将控件置于后面。 enter image description here enter image description here

3

这些是完全不同的方法。

Show():在初始化控件内容之前,将其显示在视图上。

BringToFrontSendToBack对该控件相对于其他控件的Z-order进行操作。但是,控件已经可见。

来自MSDN关于BringToFront的提示:

将控件置于z-order的最前面。

以及Show的提示:

向用户显示控件。


1

显示/隐藏将在屏幕上显示或隐藏控件。基本上使其可见或不可见。

BringToFront / SendToBack将更改其“z”顺序。如果您在标签下面使用按钮,并在按钮上调用“BringToFront”,则按钮现在将隐藏标签。


0

BringToFront 简单地将控件移动到其他控件的前面(换句话说,它将覆盖另一个控件),而 SendToBack 将允许其他控件覆盖它,而 Show/Hide 实际上会完全显示/完全隐藏控件。

通常情况下,您希望显示/隐藏控件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接