| 

.NET C# Java Javascript Exception

3
Hallo,
ich habe ein kleines Programm in dem mehrere DateTimePicker über eine kleine Funktion validiert werden:
Private Sub Zeitcopy()   ' Prozedur ohne Rückgabewert.....
If DateTimePicker2.Value < DateTimePicker1.Value Then
DateTimePicker2.Value = DateTimePicker1.Value
End If

If DateTimePicker3.Value < DateTimePicker2.Value Then
DateTimePicker3.Value = DateTimePicker2.Value
End If

If DateTimePicker4.Value < DateTimePicker3.Value Then
DateTimePicker4.Value = DateTimePicker3.Value
End If

If DateTimePicker5.Value < DateTimePicker4.Value Then
DateTimePicker5.Value = DateTimePicker4.Value
End If

If DateTimePicker6.Value < DateTimePicker5.Value Then
DateTimePicker6.Value = DateTimePicker5.Value
End If

If DateTimePicker7.Value < DateTimePicker6.Value Then
DateTimePicker7.Value = DateTimePicker6.Value
End If

If DateTimePicker8.Value < DateTimePicker7.Value Then
DateTimePicker8.Value = DateTimePicker7.Value
End If

End Sub


Problem: Seit ich mit Application Settings die Werte sichere, werden sie nicht mehr richtig aktualisiert. Das Programm scheint zu "hängen".
Weiß jemand Rat?

Gruß
Michael
18.05.2011
buddhafragt 41 1
1
Wo "hängt" das Programm? Bei Laden der Settings? Oder bei der Methode Zeitcopy? Kannst du die Methode Zeitcopy debuggen?
Fredo 18.05.2011
6 Antworten
0
Die Methode funktioniert ohne Application Settings wunderbar: Sie stellt nur sicher, das von 8 DateTimePickern der nächste keinen kleinerern Wert als der vorhergehende hat.
Seit ich nun aber die Application Settings konfiguriert habe um die DateTimePicker Werte automatisch bei Programmende zu speichern, funktioniert die Methode nicht mehr richtig:
Verstellt man z.B. beim 1. DateTimePicker die Zeit nach oben, sollten gleichzeiig alle anderen DateTimePicker Zeiten auch nach oben verstellt werden, wenn ihr Wert niediger ist(das macht die Methode). Das sieht dann aber so aus: Beim ersten klick auf den DateTimePicker werden 2 weitere verstellt, noch mal klicken die nächsten 2 und so weiter bis nach 4x klicken dann auch der letzte DateTimePicker den richtigen Wer hat. Das meine ich mit "hängen".....
18.05.2011
buddhafragt 41 1
0
Ich habe ein kleines Testprogramm geschrieben und konnte reproduzieren.
Ich weiss zwar noch nicht an was es liegt, du könntest aber die Settings selber schreiben (z.B. vor dem Schliessen) und nicht über das PropertyBinding mit der Value-Eigenschaft binden.
So wird deine Zeitcopy Methode nicht davon beeinflusst.
18.05.2011
Fredo 495 8
0
Danke für die Antwort!
Ja, das habe ich mir auch schon überlegt, das PropertyBinding ist nur so schön einfach!
19.05.2011
buddhafragt 41 1
0
Ich habe ein Lösung gefunden. Es ist zwar etwas schräg, sollte aber funktionieren.
Ich würde trotzdem die andere Lösung vorziehen.
' Private Variable '
Private changing As Boolean = False

' Aufruf von "ZeitCopy" '
'[...]'
If Zeitcopy() Then
changing = False
End If
'[...]'

Private Function Zeitcopy() As Boolean
If Not changing Then
changing = True
If DateTimePicker2.Value < DateTimePicker1.Value Then
DateTimePicker2.Value = DateTimePicker1.Value
End If

If DateTimePicker3.Value < DateTimePicker2.Value Then
DateTimePicker3.Value = DateTimePicker2.Value
End If

If DateTimePicker4.Value < DateTimePicker3.Value Then
DateTimePicker4.Value = DateTimePicker3.Value
End If

If DateTimePicker5.Value < DateTimePicker4.Value Then
DateTimePicker5.Value = DateTimePicker4.Value
End If

If DateTimePicker6.Value < DateTimePicker5.Value Then
DateTimePicker6.Value = DateTimePicker5.Value
End If

If DateTimePicker7.Value < DateTimePicker6.Value Then
DateTimePicker7.Value = DateTimePicker6.Value
End If

If DateTimePicker8.Value < DateTimePicker7.Value Then
DateTimePicker8.Value = DateTimePicker7.Value
End If
End If
Return True
End Function
19.05.2011
Fredo 495 8
Hallo,
ich bin begeistert, das du dir die Arbeit gemacht hast!
Funktioniert, abgesehen davon, das die Aktualisierung immer noch 2 klicks braucht... fällt dir da auch noch eine Lösung für ein?
buddhafragt 19.05.2011
0
noch was:
Das Programm speichert jetzt die Werte nicht mehr ab...
19.05.2011
buddhafragt 41 1
Ok. Mir gehen die Ideen aus :-)
Wie gesagt, meine bevorzugte Variante: Settings selber schreiben und nicht über PropertyBinding
Fredo 23.05.2011
0
habe ich jetzt gemacht......
aber die PropertyBinding's wieder rauszubekommen aus dem code, ist ja auch schon eine Lebensaufgabe....

Gruß
Michael
24.05.2011
buddhafragt 41 1

Stelle deine Application-Frage jetzt!