我愿意编写程序,在5秒后显示隐藏的文本,并在另外5秒后更改两者。例: - 程序开始: 文字1 - 5秒后: TEXT 1 TEXT 2 - 5秒后: 文字3 - 5秒后: 第3条文本4 ...
我如何在C#中计算这些秒数?
答案 0 :(得分:7)
您可以使用timer。
答案 1 :(得分:5)
.NET中有三个Timer类(我知道并且已经使用过)。如果您正在编写Windows窗体应用程序,最简单的方法是添加System.Windows.Forms.Timer并为其Tick事件创建事件处理程序。 (请注意,间隔以毫秒为单位,因此您可以将其设置为5000,持续5秒。)other timers的工作方式类似。
下面是一个示例,说明如何使用带有lambda表达式的System.Threading.Timer作为回调函数(在其中您将更改问题中提到的文本)。 (请注意,如果要更新GUI上的Control,则需要将调用封送回GUI线程。这可以通过在检查Form.InvokeRequired后使用Form.Invoke()来完成。)
var timer = new System.Threading.Timer(
(object state)=>{ /* Your logic here */ },
null,
0,
5000);
...
timer.Dispose(); // Don't forget to Dispose of the Timer when your app closes
答案 2 :(得分:2)
请参阅EggTimer in C#以获得一个好例子:
这个简单的计时器应用程序将从文本框中设置的任何值开始倒计时。
答案 3 :(得分:1)
有多种选择。 System.Threading.Sleep允许您阻止特定的时间。 System.Threading.WaitHandle子类也可以,如果需要,可以中断睡眠。最后可以使用Timer。在所有情况下,请确保您的同步正确。
答案 4 :(得分:0)
尝试使用Timer
。
答案 5 :(得分:-1)
如果您的视图在前5秒内没有响应,则将UI线程置于睡眠状态并在之后进行更改。这样您就可以避免将功能传递回UI线程。