如何在5秒后更改字符串值?

时间:2010-03-09 15:52:47

标签: c#

我愿意编写程序,在5秒后显示隐藏的文本,并在另外5秒后更改两者。例:   - 程序开始:    文字1   - 5秒后:    TEXT 1 TEXT 2   - 5秒后:    文字3   - 5秒后:    第3条文本4 ...

我如何在C#中计算这些秒数?

6 个答案:

答案 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线程。