Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

C#: Wait Loop umwandeln in Task.Delay
 
Wait und DoEvents in C#
Wenn man in C# eine Wartezeit einbauen möchte, damit der Task eine bestimmte Zeit wartet bevor er weiter arbeitet
Dann muss man hierzu keinen Warte-Schleife einbauen.
Die Beste Weise hierfür ist in C# eine asynchronen Task.Delay(..) einzubauen.
Allerdings muss man hierzu die Methode mit async definieren.
 
Asynchrones Delay in C# (entspricht einem alten wait)

private async void btnTranslate_Click(object sender, RoutedEventArgs e)
{
..
//----< wait 1 second >----
await Task.Delay(1000);
//----</ wait 1 second >----
..
}
 

 
 
C# Code Beispiel eines asynchronen Delay Anweisung (entspricht wait)

private async void btnTranslate_Click(object sender, RoutedEventArgs e)
{
// -------------------< btnTranslate_Click() > -------------------
//*set and get Translation
doc= (mshtml.HTMLDocument)ctlBrowser.Document;
set_Translation();
//----< wait 1 second >----
await Task.Delay(1000);
//----</ wait 1 second >----
 
//----< wait doc.complete >----
DateTime dtStart = DateTime.Now;
while (doc.readyState != "complete")
{
if ((DateTime.Now- dtStart).Seconds > 5) break;
await Task.Delay(1);
}
//----</ wait doc.complete >----
 
get_Translation();
//-------------------</ btnTranslate_Click() >-------------------
}

 
C# Code für Wait Loop

private void btnTranslate_Click(object sender, RoutedEventArgs e)
{
// -------------------< btnTranslate_Click() > -------------------
//*set and get Translation
doc= (mshtml.HTMLDocument)ctlBrowser.Document;
set_Translation();
//----< wait 5 seconds >----
DateTime dtStart = DateTime.Now;
while (1==1)
{
TimeSpan dtDiff= DateTime.Now-dtStart;
if ( dtDiff.Seconds >5) break;
Task.Delay(1); //does not work
}
//----</ wait 5 seconds >----
 
//----< wait doc.complete >----
dtStart = DateTime.Now;
while (doc.readyState != "complete")
{
;
if ((DateTime.Now- dtStart).Seconds > 5) break;
Task.Delay(1);
}
//----</ wait doc.complete >----
 
get_Translation();
//-------------------</ btnTranslate_Click() >-------------------
}

 
 
 

 
 
 
Mobile
»
C#: Umwandeln eines 2D Object Array to 2D String Array
»
Asp.Net C#: Optionale Parameter in Methode
»
Asp.Net C#: Bool Null zu bool
»
C#: Prüfen auf Enthält Zeichenfolge ohne Groß- Kleinscheibung
»
C#: Zeit formatieren in 24 Stunden Format
»
WPF: Datum und Zeit in String mit Format 24 Stunden ausgeben
»
C#: Item an Array oder List anfügen
»
C#: Split eines Textes mit String-Sequenzen zur Trennung
»
C#: Wait Loop umwandeln in Task.Delay
»
WPF, C#: Zeitdifferenz berechnen mit TimeSpan

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de