What is the difference between control.Show and BringToFront?

c#, controls, show, user-interface, winforms

Solution

These are completly different methods.

`Show()` : shows the control on the view, by initializing the content of it before.

`BringToFront` and `SendToBack` act on `Z-order` of that control in regard of others. But the control is already visible.

Hints from MSDN on BringToFront:

Brings the control to the front of the z-order.

and on Show:

Displays the control to the user.

Problem

What is the difference between Show/Hide and BringToFront/SendToBack? In which situation we should use one pair instead of the other?

Original source