Wie UserControl nicht mehr anzeigen?

09/03/2010 - 10:13 von Alexander Richter | Report spam
Hallo,
ich erstelle mit der Klasse Control1 ein UserControl aus einem Panel,
Label und TextBox

class Control1 {
private bool isVisible = false;

public bool Visible {
set { isVisible = value; }
}

public void CreateControl () {
UserControl userControl = New UserControl();
userControl.Visible = isVisible;
//...

}
}

Der Aufruf des UserControls aus einer anderen Klasse:
Control1 control1 = New Control1();
control1.Visible = true;
control1.CreateControl();

Jetzt will ich aber zu einem bestimmten Zeitpunkt das UserControl mit
control1.Visible = false; nicht mehr anzeigen.
Nur die Befehl control1.Visible = true; so wie bei Standardcontrols
brachte keinen Erfolg.
Hat jemand einen Rat?

Alexander
 

Lesen sie die antworten

#1 Stefan Hoffmann
09/03/2010 - 19:41 | Warnen spam
hallo Alexander,

On 09.03.2010 10:13, Alexander Richter wrote:
Jetzt will ich aber zu einem bestimmten Zeitpunkt das UserControl mit
control1.Visible = false; nicht mehr anzeigen.
Nur die Befehl control1.Visible = true; so wie bei Standardcontrols
brachte keinen Erfolg.


Mal davon abgesehen, das sich mir der Sinn deiner Kapselung nicht
erschließt, sollte es wie folgt aussehen:

class Control1
{
private bool isVisible = false;

public bool Visible
{
set
{
if (this.isVisible != value)
{
this.isVisible = value;
if (this.userControl != null)
{
this.userControl.Visible = this.isVisible;
}
}
}

get
{
return this.isVisible;
}
}

private UserControl userControl;

public void CreateControl ()
{
this.userControl = New UserControl();
this.userControl.Visible = this.isVisible;
}
}

mfG

Ähnliche fragen