Guys在VB中是否有像c#中的任何选项?
Sub Delay(ByVal dblSecs As Double)
Const OneSec As Double = 1.0# / (1440.0# * 60.0#)
Dim dblWaitTil As Date
Now.AddSeconds(OneSec)
dblWaitTil = Now.AddSeconds(OneSec).AddSeconds(dblSecs)
Do Until Now > dblWaitTil
Application.DoEvents() ' Allow windows messages to be processed
Loop
End Sub
答案 0 :(得分:0)
您需要Timer课程或DispatcherTimer课程,以满足您的需求。
答案 1 :(得分:0)
Patterson算法适用于我认为的调度员。
http://en.wikipedia.org/wiki/Sardinas%E2%80%93Patterson_algorithm
答案 2 :(得分:0)
是的,您可以在C#中执行相同的操作,但这是一个非常糟糕的主意。
这种暂停方式称为忙循环,因为它会使主线程使用尽可能多的CPU。
你要做的是设置一个计时器,并从tick事件中调用一个回调方法:
public void Wait(double seconds, Action action) {
Timer timer = new Timer();
timer.Interval = (int)(seconds * 1000.0);
timer.Tick += (s, o) => {
timer.Enabled = false;
timer.Dispose();
action();
};
timer.Enabled = true;
}
用法示例:
textbox.text = "Test";
Wait(5.0, () => {
textbox.text = "Finish";
});