Hi,
ich wollt beim einem eigenen UserControl ein Paar Eigenschaften erst zur Laufzeit setze.
Das wollte ich so lösen.
// Konstruktor
public MeinUserControl()
{
if(!DesignMode)
{
// Eigenschaften setzen
}
}
Visual Studio ruft diesen Code trozdem auf, wenn ich noch am designen bin.
Was einer was da schief geht?
Oder ist diese Eigenschaft für diesen Zweck ungeeignet?
Vielen Dank
Mfg Flo
Ich würde eher sagen, es funktioniert nicht in Konstruktoren. Erst nach dem Konstruktor kann für das Control der DesignMode eingeschaltet werden, weil Site zu dem Zeitpunkt noch nicht gesetzt ist.
Ich hab zu dem Thema zwei Lösungsideen gefunden:
Wobei die Erste eigentlich die Schönere ist.
Ansonsten mal nach DesignMode und Constructor googeln.
e.f.q.
Aus Falschem folgt Beliebiges
Hallo FZelle
Original von FZelle
Das funktioniert nicht in DLL's.
Wieso nicht und wo denn sonst?
Diese Eigenschaft ist ja nur für Bibliotheken und UserControls gedacht.
Bei ASP.NET Komponenten funktioniert das wunderbar.
<edit>
Original von Traumzauberbaum
Ich würde eher sagen, es funktioniert nicht in Konstruktoren. Erst nach dem Konstruktor kann für das Control der DesignMode eingeschaltet werden, weil Site zu dem Zeitpunkt noch nicht gesetzt ist.
Alles klar 🙂
Normalerweise benutzt man diese Eigenschaft im Konstruktor eher nicht.
</edit>
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Hallo, und sorry, dass ich das alte Thema nochmal aufgreife, aber hat vieleicht auch jemand eine Lösung, wie man sowas im CompactFramework realiesieren kann?
Ich habe das Problem, das Form_Load Ereignisse auch im Designer aufgerufen werden, und das gibt deftikge Fehler 😦. Leider habe Ich dort weder das "DesignMode" Property noch den "LicenseManager" zur Verfügung.
Gibt es da eine Allgemeine Verfahrensweise?
Grüßle,
Christian
Es gibt auch ein DesignMode im CF, es liegt nur woanders
if (this.Site != null && this.Site.DesignMode)
{
// Im DesignMode
}
Gilt für CF 2.0
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)