-1
我有问题。我在Google上找不到与此相关的任何内容,这就是为什么我希望你的SOF专家能帮助我。.net 2.0中的异步睡眠
基本上我试图进行睡眠,但这些都是条件。
- 这种睡眠,我喜欢让不应该中断程序(冻结它)
- 应该.NET 2.0的 - 在这种情况下不能使用
Task.Delay()
。
我基本上有一个Form fade in
和fade out
和之间我喜欢执行fadeout
之前等待几秒钟。在窗体上也是animations
等,所以我需要确保他们不会挂在睡觉时。
有人有关于如何实现这一点的想法?
绝对使用[System.Windows.Forms.Timer](http://msdn.microsoft.com/en-us/library/system.windows.forms.timer%28v=vs.110%29.aspx)正如Servy所建议的那样。否则,你总会得到一些包含Sleep()和DoEvents()的小调用的紧密循环,这通常是**从来就不是一件好事**。 –
@Idle_Mind:请注意,Servy没有明确提示Winforms命名空间中的Timer类。实际上,他的措辞意味着直接使用'Task.Delay()'方法使用的'Timer'类('System.Threading.Timer'),即允许一次性定时器的类。我同意你的建议,使用WinForms Timer类,因为它将更容易在Winforms环境中使用(不需要Invoke())。但它的确意味着你必须记得在第一次触发时立即关闭计时器,以获得一次性短暂行为。 –
@PeterDuniho,的确如此。我想知道最初的'淡入淡出'部分是如何实现的。我会在整个过程中使用Timer,并简单地改变'Interval'来获得更长的停顿时间。 –