【问题标题】:What is the difference between control.Show and BringToFront?control.Show 和 BringToFront 有什么区别?
【发布时间】:2012-10-15 00:20:27
【问题描述】:

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

【问题讨论】:

    标签: c# winforms user-interface controls show


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      这些是完全不同的方法。

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

      BringToFrontSendToBack 作用于 Z-order 对他人的控制。 但是控件已经可见。

      来自 MSDN 在BringToFront 上的提示:

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

      Show:

      向用户显示控件。

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          作为一般规则,您希望显示/隐藏控件

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-10-02
            • 2011-12-12
            • 2010-09-16
            • 2012-03-14
            • 2012-02-06
            • 2011-02-25
            • 2011-11-22
            相关资源
            最近更新 更多