Designzeit von Laufzeit unterscheiden _oder_ Properties zur Designzeit auslesen

26/04/2009 - 22:26 von Michaela Meier | Report spam
Hi,

Ach, es lief alles so schön ... bis ich einiges hard-coded Zeugs in die
settings verschoben habe. Nun kann ich meine UserControls und kein
Fenster, das sie benutzt im Designer anschauen und schon gar nicht
veràndern :-(

Das Problem konnte ich einkreisen - und zwar eben auf die Auslagerung
der von den UserControls zu benutzenden Datenbankdatei in eine Variable.

Da steht nun anstelle von
ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\meinedatei.mdb";
dies
ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
_databasefile;

_databasefile wird in Programm.cs aus
Properties.Database.Default.SourceFile eingelesen und (als static
property) an die betreffende Klasse übergeben ... und ja, die Eintragung
dort ist korrekt, denn zur Laufzeit schnurrt das.

Wie kann ich in einer Klasse, die von UserControls benutzt wird (_nicht_
in den UserControls selbst) herausfinden, ob ich mich im Designmodus
befinde? DesignMode scheint in normalen Klassen leider nicht abrufbar zu
sein. Und ich möchte nicht wirklich an _jeden_ Aufruf in _jedem_
UserControl eine entsprechende If-Abfrage dranbasteln.

Alternativ würde ein Zugriff auf die Properties die Wurzel des Übels
beseitigen. Aber wie?

Danke
 

Lesen sie die antworten

#1 Frank Dzaebel
26/04/2009 - 22:56 | Warnen spam
Hallo Michaela,

Ach, es lief alles so schön ... bis ich einiges hard-coded Zeugs in
die settings verschoben habe. Nun kann ich meine UserControls und kein
Fenster, das sie benutzt im Designer anschauen und schon gar nicht
veràndern :-(



Zunàchst, zur Designzeit ist gar nicht bekannt, über
welche config spàter zur Laufzeit das Programm làuft.

Hier Möglichkeiten alternativer DesignMode-Abfragen:

[Windows Forms designer and DesignMode property issues - Fabrice's weblog]
http://weblogs.asp.net/fmarguerie/a...95658.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen