Net Framework, Office 365, C#, WPF, ASP.Net, Visual Studio, Programmiersprachen PC, C# Programmieren, vba, SQL Server, free source code snippets Antivirus free
#

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
»
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
»
C#: Split Aufteilung eines String-Textes in einzelne Wort

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Raimund.Popp@Microsoft-Programmierer.de