Laden...

Frage zur Eigenschaft DesignMode

Erstellt von Flo80 vor 17 Jahren Letzter Beitrag vor 15 Jahren 2.162 Views
F
Flo80 Themenstarter:in
107 Beiträge seit 2006
vor 17 Jahren
Frage zur Eigenschaft DesignMode

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

F
10.010 Beiträge seit 2004
vor 17 Jahren

Das funktioniert nicht in DLL's.

T
512 Beiträge seit 2006
vor 17 Jahren

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:

  1. Den Code aus dem Konstruktor nach Init verschieben
  2. LicenseManager.UsageMode == LicenseUsageMode.Designtime abfragen

Wobei die Erste eigentlich die Schönere ist.

Ansonsten mal nach DesignMode und Constructor googeln.

e.f.q.

Aus Falschem folgt Beliebiges

5.941 Beiträge seit 2005
vor 17 Jahren

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

F
Flo80 Themenstarter:in
107 Beiträge seit 2006
vor 17 Jahren

Danke für die Antworten.

Da hab ich wieder was gelernt.

mfg FLO

C
28 Beiträge seit 2008
vor 15 Jahren
DesignMode abfragen im Compact Framework?

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

3.511 Beiträge seit 2005
vor 15 Jahren

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)

C
28 Beiträge seit 2008
vor 15 Jahren

Super! Dankeschön!!