无法从其他线程启动计时器

雷切尔·多克特(Rachel Dockter)

我正在开发一个程序,需要从其他线程激活计时器。我将代码简化为以下示例。

static class Program
{
    public static System.Windows.Forms.Timer TimerVideo = new System.Windows.Forms.Timer();

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        TimerVideo.Interval = 1000;
        TimerVideo.Tick += new EventHandler(TimerVideo_Tick);
        new Thread(() =>
        {
            test RunTimer = new test();
            RunTimer.StartTimer();

        }).Start();

    Application.Run();
    }

    private static void TimerVideo_Tick(object sender, EventArgs e)
    {
        Console.WriteLine("Running");
    }
}

class test
{
    public void StartTimer()
    {
        Program.TimerVideo.Start();
    }
}

即使我必须在适合我的类中编写计时器代码,但我也尝试过这样做,但它也不起作用,即计时器没有启动,并且没有任何内容输出到控制台。

伊丽·阿贝尔

System.Windows.Forms.Timer旨在从UI线程运行。如果您希望计时器在其他线程上触发,则可以使用System.Timers.Timer,例如:

TimerVideo = new System.Timers.Timer();
TimerVideo.Interval = 1000;
TimerVideo.Elapsed += (o, e) => Console.WriteLine("Running");
TimerVideo.Start();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从其他线程停止计时器-移开焦点

来自分类Dev

在计时器中启动多个线程

来自分类Dev

从其他班级停止计时器

来自分类Dev

表单计时器无法启动

来自分类Dev

无法启动 Systemd 计时器

来自分类Dev

停止计时器并从其他功能重新启动它

来自分类Dev

如何在片段中启动计时器的新线程

来自分类Dev

Python进程线程启动和停止计时器

来自分类Dev

如何使用其他功能停止计时器

来自分类Dev

在执行其他命令时运行计时器C ++

来自分类Dev

计时器功能不会接受其他参数

来自分类Dev

在执行其他命令时运行计时器

来自分类Dev

在Python中停止计时器后,计时器无法重新启动

来自分类Dev

在Python中停止计时器后,计时器无法重新启动

来自分类Dev

Android启动画面计时器无法正常工作

来自分类Dev

无法开始活动。计时器启动按钮

来自分类Dev

启动线程以使主线程超时,但允许主线程暂停计时器

来自分类Dev

计时器启动延迟

来自分类Dev

从计时器启动 MediaPlayer

来自分类Dev

C#WinForms:-当UI进行其他操作时,为什么没有经过线程计时器滴答事件?

来自分类Dev

Python游戏计时器(线程?)

来自分类Dev

让线程等待计时器还是信号?

来自分类Dev

混合线程计时器和PLINQ

来自分类Dev

从后台线程调用计时器

来自分类Dev

Android:暂停/恢复计时器或线程

来自分类Dev

从计时器线程更新WPF UI

来自分类Dev

Java计时器的多个线程

来自分类Dev

Python线程计时器问题

来自分类Dev

带包的Python线程计时器