Wie kann ich in VB.net etwas warten lassen?
Hallo,
Ich arbeite gerade an einer App, die Text in eine Richtextbox spammt, 2 verschiedene Lines jeweils abwechselnd mit einer verzögerung von 0.5 Sekunden. Den Code dazu seht ihr hier: (VB.net)
Ich weiß jedoch nicht, wie man im Bild sieht, wie ich das mit der 0.5 Sekunden Wartezeit geht. Wenn ich Thread.Sleep benutze, freezt die Anwendung komplett. Kennt jemand eine Lösung, wo die Anwendung nicht freezt und kann mir auch den Code schicken und sagen wo ich den einfügen soll? Bin neu bei VB.net.
Danke im Vorraus,
Louis
2 Antworten
Ich meine du kannst dies so lösen:
Threading.Thread.Sleep(500)
Oder sofern andere Threads dennoch Rechenzeit benötigen
Private Sub wait(ByVal seconds As Integer)
For i As Integer = 0 To seconds * 100
System.Threading.Thread.Sleep(10) Application.DoEvents() Next
End Sub
https://docs.microsoft.com/de-de/dotnet/api/system.threading.tasks.task.delay
Und ja, funktioniert bei VB.NET genauso, ich hab nur keine Lust, das für VB.NET rauszusuchen.
PS:
Stichworte "async", "await" und schau dir an, wie das ganze in Verbindung mit WinForms/WPF funktioniert, da gibt's ein paar Fallstricke.
Kannst du mir vielleicht schreiben wie ich das einfügen muss.. versteh das nicht xD
Was ich schreiben könnte, wäre das Gleiche, wie es auch in der Doku steht.
Oder Timer.
Solange nur periodisch irgendetwas gemacht werden soll, ist der vermutlich die bessere Option.