| |
VB.NET - Ein- und UmsteigerCountdownProblem | | | Autor: Cheffboss | Datum: 05.11.20 17:39 |
| Hallo!
Ich brauche eure Unterstützung.
Ich habe ein Programm das 60 Sekunden runterzählt.
Wenn die Zeit und die Bedienung Wahr ist.
Erscheint ein zweites Fenster,
hier soll man auf „Später erinnern!“ klicken, und die Zeit soll dann auf 5 Minuten gestellt werden.
Wenn man aber auf „Fenster schließen!“ klickt, soll der Wert wieder auf 60 Sekunden sein.
Im Anhang habe ich mal ein Beispielprojekt hochgeladen!
Die Fehlerbeschreibung:
Wenn ich auf „später“ klicke, dann 299 Sekunden anstatt 300.
Wenn ich auf „schließen“ klicke, dann 59 Sekunden anstatt 60.
Der Timer1 sollte auf Intervall 1000ms eingestellt sein!
Ich hoffe dass mir hier jemand helfen kann,
ich denke, ein Experte findet den Fehler sofort!
Vielen Dank!
Link:
https://workupload.com/file/7FHz7sCrz3Z
7 Tage wird die Datei auf dem Server gelöscht!
| |
Re: CountdownProblem | | | Autor: effeff | Datum: 05.11.20 19:26 |
| Du lässt Dir das erste Mal die noch vorhandenen Sekunden zum falschen Zeitpunkt anzeigen; Wahrscheinlich im Tick-Event, was ja aber erst eine Sekunde später greift...
Anbei ein Beispiel dazu, welches nur eine Textbox und einen Button auf einer Form hat:
Public Class Form1
Dim i As Integer = 0
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles _
Timer1.Tick
i = i - 1
TextBox1.Text = i
If i = 0 Then
Timer1.Stop()
MessageBox.Show("Stop")
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval = 1000
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
i = 10
TextBox1.Text = i
Timer1.Start()
End Sub
End Class EALA FREYA FRESENA | |
Re: CountdownProblem | | | Autor: Kuno60 | Datum: 06.11.20 22:30 |
| Hallo!
Dies kommt, weil direkt nach dem Setzen auf 60 Sekunden, gleich wieder eine Sekunde abgezogen wird.
' Abziehen...
If intZeitProzesse <> 0 Then intZeitProzesse -= 1 Das 59 Sekunden anstatt 60 Sekunden angezeigt wird, ist nicht falsch, da dies erst nach einer Sekunde angezeigt wird.
Wenn du direkt nach dem Setzen nochmal die Zeit anzeigen lässt, dann stimmt es korrekt.
' Anzeige...
Me.lblProzesseInfofeld.Text = String.Format("Prüfe Prozesse in {0} Sekunde(" & _
"n)", intZeitProzesse)
' Nur wenn Bedingung nicht Wahr,
' sonst wird es übersprungen!
If intZeitProzesse = 0 Then
NeuesFensterProzesseFrageCode()
Me.lblProzesseInfofeld.Text = String.Format("Prüfe Prozesse in {0}" & _
"Sekunde(n)", intZeitProzesse)
End If | |
Re: CountdownProblem | | | Autor: Cheffboss | Datum: 09.11.20 17:18 |
| @effeff
Danke, für deinen Code.
Habe einiges neues dazu gelernt!
@Kuno60
Vielen Dank, du hast das Problem gefunden.
Ich freue mich sehr.
Nochmals, Vielen Dank!
Bin wegen dem Problem fast durchgedreht.
Und nur mit einer Zeile war das Problem behoben. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|