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

C# 如何在5秒后更改字符串值?,c#,C#,我愿意写一个程序,在5秒后显示隐藏的文本,在另一个5秒后两者都会改变。例子: -节目开始: 文本1 -5秒后: 案文1案文2 -5秒后: 文本3 -5秒后: 文本3文本4 我怎么能在C#里数数那些秒 您可以使用。尝试使用计时器请参阅以下示例: 这个简单的计时器应用程序将从文本框中设置的任何值开始倒计时 有多种选择。System.Threading.Sleep允许您在特定时间内进行阻塞。System.Threading.WaitHandle子类也可以这样做,如果需要,可以中断睡眠。最后可以使用定

我愿意写一个程序,在5秒后显示隐藏的文本,在另一个5秒后两者都会改变。例子: -节目开始: 文本1 -5秒后: 案文1案文2 -5秒后: 文本3 -5秒后: 文本3文本4


我怎么能在C#里数数那些秒

您可以使用。

尝试使用
计时器

请参阅以下示例:

这个简单的计时器应用程序将从文本框中设置的任何值开始倒计时


有多种选择。System.Threading.Sleep允许您在特定时间内进行阻塞。System.Threading.WaitHandle子类也可以这样做,如果需要,可以中断睡眠。最后可以使用定时器。在所有情况下,请确保同步正确。

在.NET中有三个计时器类(我知道并使用过)。如果您正在编写Windows窗体应用程序,最简单的方法是添加一个事件处理程序并为其Tick事件创建一个事件处理程序。(请注意,间隔以毫秒为单位,因此您可以将其设置为5000并持续5秒。)工作方式类似

下面是一个示例,说明如何将System.Threading.Timer与lambda表达式一起用于回调函数(在这个示例中,您可以更改问题中提到的文本)。(请注意,如果要更新GUI上的控件,则需要将调用封送回GUI线程。这将通过在选中Form.InvokeRequest后使用Form.Invoke()完成。)


如果您的视图在最初的5秒钟内不必有响应,则将UI线程置于睡眠状态,然后进行更改。这样可以避免将功能传递回UI线程。

System.Windows.Forms命名空间:您应该指定框架。。。e、 ASP.NET、Windows窗体等。是的,睡眠可能是我的最佳选择。谢谢大家!@Peter当涉及gui时,您应该真正考虑使其无响应。。。但是请看凯尔特对你的问题的评论,我们不知道你在用什么
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