假设我有正常的button.Click
事件。
如果我尝试从此事件内部访问UI元素,我可能会遇到不需要的行为 - 甚至是异常(在调试时)。这种情况下的常见例外是:...cannot access UI elements from thread different than they were created in
。
由于这是另一个线程(与主要不同),当我在事件中执行耗时的操作时,为什么我的UI被阻止了?
答案 0 :(得分:3)
这里的框架是什么? WinForm的? WPF?
在winform(对于点击事件)中,您是在UI线程上。所以你可以从click事件中与UI交谈。如果发生了其他事情,那就有问题了。你确定你没有进行计时器回调吗?
从更一般的意义上讲,您可以使用InvokeRequired
/ Invoke
等将控制权传递给UI线程。