2

C# 10 秒后禁用控件的最简单方法是什么?使用计时器或秒表?我都是新手,所以感谢您的帮助。

4

4 回答 4

11

我不确定您希望秒表如何提供帮助。计时器对我来说当然是正确的答案。您应该知道有几个不同的计时器可用- 在这种情况下System.Windows.Forms.Timer,可能是您想要用于 WinForms 应用程序或System.Windows.Threading.DispatcherTimerWPF 的计时器。

于 2008-11-10T16:34:23.537 回答
4

Windows 窗体有一个Timer控件(这里是WPF 的版本)。

您使用这些的原因是因为这些计时器在 UI 线程上触发,因此您不必执行通常的多线程if-InvokeRequried-Invoke舞蹈,如果您使用System.Threading.Timer或其他一些您必须这样做在不同线程上运行的方法。

(从 Jon 那里偷走了 WPF 链接)

于 2008-11-10T16:34:39.620 回答
3

与@Jon Skeet 的回答相关,您需要 System.Windows.Forms.Timer 计时器(在框架中的 3 个之外)的原因是它会为您在 UI 线程上执行计时器代码。其他计时器不会为您执行此操作,因此您只能调用 .CanInvoke 和 Invoke() (或使用更简单但仍然很麻烦的 SynchronizationContext)。

于 2008-11-10T16:38:27.837 回答
0

使用计时器。它更适合您的需求。

编辑:正如其他人所说,与System.Windows.Forms.Timer

于 2008-11-10T16:34:05.817 回答