C# - 只使用线程运行立即函数?

Dan*_*247 2 c# multithreading

这就是我所拥有的.当我的应用程序启动时,它会创建一个线程并运行我的startListening()功能.但它似乎做的是运行startListening在同一线程内调用的任何其他函数.有没有一种方法可以使它只有内部的东西startListening是用那个线程运行的,而不是从那个内部调用的函数?

当引用控件和不在该线程内的东西时,它会让我更容易,所以我不必每次都调用.

编辑:也许这不是正确的问题.我知道我必须Invoke设置文本框,但现在我需要启用一个计时器.当我尝试启用它时,它不会抛出任何异常,而只是不"滴答作响".这是我的代码:

    private void beginListenerThread()
    {
        Thread thread1 = new Thread(startListening);
        thread1.Start();
    }

    private void startListening()
    {
        timer1.enabled = true;
    }
Run Code Online (Sandbox Code Playgroud)

但它没有打勾.

谢谢!

Ry-*_*Ry- 5

不,那是不可能的.如果您能够修改应在另一个线程上调用的方法,请将调用更改为其他方法,以便它们在原始线程上运行.如果您使用的是Windows窗体,请使用this.Invokethis.BeginInvoke.