C#10秒后禁用控件的最简单方法是什么?使用计时器还是秒表?我是新手,所以感谢你的帮助。
答案 0 :(得分:11)
我不确定你希望秒表如何帮助你。计时器听起来像是对我的正确答案。您应该知道有several different timers available - 在这种情况下System.Windows.Forms.Timer
可能是您想要的WinForms应用程序,或System.Windows.Threading.DispatcherTimer
用于WPF。
答案 1 :(得分:4)
Windows窗体具有Timer控件(此处为WPF's version)。
你使用这些的原因是因为这些计时器触发了UI线程,所以如果使用if-InvokeRequried-Invoke,你不必进行通常的多线程System.Threading.Timer舞蹈。或者在不同的线程上运行的其他方法。
(从Jon那里偷走了WPF链接)
答案 2 :(得分:3)
与@Jon Skeet的答案相关,你想要System.Windows.Forms.Timer计时器(框架中的3个)的原因是它将负责在你的UI线程上执行你的计时器代码。其他计时器不会为你这样做,所以你只能调用.CanInvoke和Invoke()(或者使用一个更简单,但仍然很麻烦的SynchronizationContext)。
答案 3 :(得分:0)
使用计时器。它更适合您的需求。
编辑:正如其他人所说,请使用System.Windows.Forms.Timer