They are equivalent. From the documentation for Control.Hide:
Hiding the control is equivalent to
setting the Visible property to false.
You can confirm this with reflector:
public void Hide()
{
this.Visible = false;
}
You might use Show() or Hide() when you know the value and use Visible when you take the visibility in as a parameter, although personally I would always use Visible.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…