erikric
erikric

Reputation: 4169

Control difference between Hide() and Visible?

I was wondering about the difference between using a Control’s Hide() method compared to setting the Visible property to false.

When would I want to use the one over the other?

Upvotes: 38

Views: 31722

Answers (3)

Amr Elgarhy
Amr Elgarhy

Reputation: 68902

Use whatever you like, Hide() or Visible, but I can't find any reason to prefer one of them except if you are trying to check the control visibility status, so you should say if(pic.Visible) and in this case you can't use the method Hide() you should use the property Visible

Upvotes: 5

Brendan Enrick
Brendan Enrick

Reputation: 4297

It is really more about your preference here. The two methods will achieve the same result in the same way.

I prefer calling methods, which say what they're doing to change the state of objects. Some people prefer setting the properties of an object.

Upvotes: 0

Quartermeister
Quartermeister

Reputation: 59129

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.

Upvotes: 47

Related Questions