4

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

4

4 回答 4

7

Show()等效于设置Visible = true。它不会更改控件的 Z 顺序。如果控件被 Z-order 前面的某个其他控件关闭,用户仍然无法看到您的控件。

BringToFront()更改控件的 Z 顺序(置于前面),但不更改其可见性。如果控件被隐藏,那么它将保持隐藏状态。但是,当您使控件可见时,它将出现在所有其他控件的前面。

Hide()(使控件不可见,但不更改 Z 顺序) 和SendToBack(不更改可见性,但将控件带回) 相同。

在此处输入图像描述

在此处输入图像描述

于 2012-10-24T21:30:57.507 回答
3

这些是完全不同的方法。

Show(): 在视图上显示控件,通过之前初始化它的内容。

BringToFrontSendToBack根据Z-order该控制对他人采取行动。但是控件已经可见。

来自 MSDN 关于BringToFront的提示:

将控件置于 z 顺序的前面。

显示

向用户显示控件。

于 2012-10-24T21:30:51.167 回答
1

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

BringToFront/SendToBack 将改变其“z”顺序。如果您在标签下有一个按钮,并且您在该按钮上调用“BringToFront”,则该按钮现在将隐藏标签。

于 2012-10-24T21:30:12.373 回答
0

BringToFront 只是将一个控件移动到其他控件的前面(换句话说,它将覆盖另一个控件)并且 SendToBack 将允许其他控件将其覆盖,而 Show / Hide 实际上将完全向用户显示/完全隐藏该控件。

作为一般规则,您想要显示/隐藏控件

于 2012-10-24T21:30:30.727 回答