Jak sprawić, aby timer działał, gdy pętla czeka na kolejny wynik?

Mam następujący problem w moim kodzie, mam tę pętlę uruchomioną na zegarze (jest to tylko mała część pętli, które działają na dużym zegarze),

wewnątrz tego dużego timera (zaznacza co 1 sekundę) mam 1 metodę, która musi poczekać 5 sekund, a następnie kontynuować resztę kodu pętli, ale chcę, żeby nie utknął kod, a timer będzie kontynuował pracę co 1 sekundę i nie będę czekał na te 5 sekund.

co zrobiłem dodałem nowy timer (timer_deva), który zaznacza co 5 sekund i wykonuje wszystkie sprawdzenia w nim, a następnie zatrzymuje zegar.

więc moim problemem jest to, że muszę poczekać 5 sekund, aby pobrać wartość w celu uzupełnienia mojego kodu, ale potrzebuję, aby mój główny timer nadal działał jednocześnie, a kiedy otrzyma swój wynik po raz drugi, będzie musiał wypełnić kod, który zostawił za.

z góry dziękuję,

else if (mobID.Equals(Convert.ToInt32(txtDeva)))
{
    //START CHECK WITH TIMER
    timer_deva.Start();
    //Methods inside timer_deva update the winnerNation
    //END CHECK TIMER - GET RESULT
    winner(zoneId, winnerNation, humansKills, orcKills);
}

questionAnswers(1)

yourAnswerToTheQuestion