| 

.NET C# Java Javascript Exception

2
Ich möchte User-Controls erstellen die defaultmäßig Visible=false sind.

Folgendes habe ich probiert:

public partial class Uc : UserControl
{
[DefaultValue(false)]
public new bool Visible{get{return base.Visible;} set{base.Visible = value;}}

public Uc()
{
InitializeComponents();
base.Visible = false;
}

Wenn ich dieses Control mit dem Designer auf eine Form platziere, ist die Property Visible aber trotzdem true (fett geschrieben).

Und in der vom Designer geschriebenen Methode InitializeComponents() steht:
..
this.Uc1.Visible = true;
..

Wie lässt sich mein Vorhaben realisieren?

Danke für jeden Hinweis.
News:
08.04.2016
Hast 75 5
2 Antworten
2
Lösche einfach die Property-Definition "public new bool Visible", dann funktioniert es.

public partial class Uc : UserControl
{
public Uc()
{
InitializeComponents();
Visible = false;
}
}


Durch die Verwendung von "new" unterbrichst du die Vererbungshierarchie. Der Forms-Designer arbeitet mit Reflection und greift wohl grundsätzlich auf die Visible-Property in der Basis-Klasse zu.

Gruß
Klaus
09.04.2016
luedi 1,9k 1 9
0
Danke,
manchmal sind die Dinge einfacher als gedacht. :-)
26.04.2016
Hast 75 5

Stelle deine .net-Frage jetzt!