Speichern von Eigenschaften eines Usercontrol

12/05/2009 - 21:04 von Roman Studer | Report spam
Hallo zusammen!

Ich habe ein Usercontrol gebaut, das die Zustànde von Motoren, Ventilen usw.
visualisiert.
Beim Click auf das Usercontrol geht ein Formular auf, mit ein paar Tasten
und Einstellungen.
Vorher wurde die Form Modal geöffnet und die geànderten Einstellungen beim
Beenden gespeichert.

.ShowDialog(Me)
m_TrendMaxValue = .TrendChart.Curves.Item(0).MaxValue 'Allfaellige
veraenderte Werte werden hier gespeichert
m_TrendMinValue = .TrendChart.Curves.Item(0).MinValue 'Allfaellige
veraenderte Werte werden hier gespeichert
m_TrendMassstab = .TrendChart.TimeScale.Resolution
.Dispose()

Nun kommt aber die Forderung, dass das Formular nur noch mit .Show angezeigt
werden soll, dami wenn der User neben die Form klickt, diese
sich auch selbstàndig beendet.
Wie soll ich beim beenden der Form nun die geànderten Werte speichern, da ja
die Ausführung des Programms nicht nach .Show stehenbleibt.

Beim Usercontrol sind verschiedene Eigenschaften implementiert, die sowohl
zur Design- wie auch zur Laufzeit geàndert werden können.

<Description("Anzeigedauer in min fuer Trendansicht"), _
Category("STF"), _
DefaultValue(50)> _
Public Property TrendMassstab() As TimeSpan
Get
TrendMassstab = m_TrendMassstab
End Get

Set(ByVal value As TimeSpan)
m_TrendMassstab = value
End Set
End Property

Ich hoffe, jemand hat einen Ansatz bereit.
Vielen Dank`

Gruss Roman
 

Lesen sie die antworten

#1 Peter Fleischer
13/05/2009 - 08:12 | Warnen spam
"Roman Studer" schrieb im Newsbeitrag
news:uALo$
...
Wie soll ich beim beenden der Form nun die geànderten Werte speichern, da
ja die Ausführung des Programms nicht nach .Show stehenbleibt.



Hi Roman,
ich würde im Form_Closing die zu speichernden Werte in ein Objekt speichern,
welches dann serialisiert wird. Serialisiert werden kann direkt im
Form_Closing oder erst zu Programmende. Als Datei kann entweder eine eigene
separate XML-Datei oder auch die config-Datei (im User-Bereich) genutzt
werden. Wenn das Formaular dann erneit geladen wird, wird das
Zustands-Objekt aus der XML-Datei erzeugt (deserialisiert) und die einzelnen
Eigenschaften beim User Control eingestellt. Ggf. ist es einfacher, das User
Control direkt an das Zustandsobjekt zu binden. Dann reduziert sich der
Codierungsaufwand auf die Bindung, das Sichern (Serialisieren) und Laden
(Deserialisieren).

Beim Usercontrol sind verschiedene Eigenschaften implementiert, die sowohl
zur Design- wie auch zur Laufzeit geàndert werden können.



Zum ersten Programmstart gibt es kein deserialisiertes Zustandsobjekt. Da
werden dann die zur Entwurfszeit festegelegten Werte wirksam. Spàter kann
man im Programm entscheiden, ob man die gespeicherten Zustandswerte
(üblicherweise Normalfall) oder den Entwurfszustand dem Anwender
bereitstellt.

Viele Grüsse
Peter

Ähnliche fragen