这就是我所拥有的.当我的应用程序启动时,它会创建一个线程并运行我的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)
但它没有打勾.
谢谢!
不,那是不可能的.如果您能够修改应在另一个线程上调用的方法,请将调用更改为其他方法,以便它们在原始线程上运行.如果您使用的是Windows窗体,请使用this.Invoke
或this.BeginInvoke
.