it-swarm.com.de

Kontrollunterschied zwischen Hide () und Visible?

Ich habe mich über den Unterschied zwischen der Verwendung der Hide()-Methode eines Steuerelements und dem Setzen der Visible -Eigenschaft auf false gewundert.

Wann würde ich das eine über das andere benutzen wollen?

27
erikric

Sie sind gleichwertig. Aus der Dokumentation zu Control.Hide

Das Ausblenden des Steuerelements entspricht , Wenn die Visible-Eigenschaft auf false gesetzt wird.

Sie können dies mit Reflektor bestätigen: 

public void Hide()
{
    this.Visible = false;
}

Sie können Show () oder Hide () verwenden, wenn Sie den Wert kennen, und Visible, wenn Sie die Sichtbarkeit als Parameter verwenden, obwohl ich persönlich immer Visible verwenden würde. 

35
Quartermeister

Verwenden Sie das, was Sie möchten, Hide() oder Visible, aber ich kann keinen Grund finden, einen davon vorzuziehen, es sei denn, Sie versuchen, den Sichtbarkeitsstatus der Steuerung zu überprüfen. Daher sollten Sie if(pic.Visible) sagen. In diesem Fall können Sie die Methode nicht verwenden Hide() Sie sollten die Eigenschaft Visible verwenden.

4
Amr Elgarhy

Es geht hier wirklich mehr um Ihre Präferenz. Beide Methoden erzielen auf dieselbe Weise das gleiche Ergebnis.

Ich bevorzuge es, Methoden aufzurufen, die sagen, was sie tun, um den Status von Objekten zu ändern. Einige Leute ziehen es vor, die Eigenschaften eines Objekts festzulegen. 

0
Brendan Enrick