Well here is my situation. One of my functions has to wait 3 seconds before switching to the next piece of code;

Code:
foreach (int restart in md.Restart) {
                   Data.Restart(true);
I have to wait 3 seconds before it executes this line of code:
Code:
 Data.Restart(true);
Thread.Sleep is not an option since it freezes my whole program. Could anyone help me out with a method?

Any help would be appreciated thanks!