c# - 非UI线程,UI访问

标签 c# winforms multithreading

众所周知,您不能从 UI 线程以外的任何其他线程更新 UI。

但是,我刚刚发现了一些代码,它从非 UI 线程无异常地获取了 listview virtualsize 的值。

所以我的问题是: 您可以从非 UI 线程与 UI 进行哪些交互?

谢谢 西奥

最佳答案

因为它不会抛出异常,所以并​​不意味着您应该这样做。

问题在于,除了更新 UI 的方法的 Invoke 要求外,这些控件也不支持多线程。这意味着当 UI 线程在您检索数据时更新数据时,您确实会得到损坏的数据。

关于c# - 非UI线程,UI访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4122278/

相关文章:

c# - TCP 套接字连接

c# - 如何在 Winform 上平滑地加载具有多个控件的表单?

.net - 如何获取Form的所有TextBox控件

java - 使用诸如等待之类的低级原语是否被认为是不好的?

c# - 从ThreadPool C#内部更改文本框内容

multithreading - Indy 10 IdTCPClient 使用单独的线程读取数据?

c# - 无法使用互联网 IP 地址连接到本地计算机 IP 地址

c# - 将运行一个程序所需的几个文件组合成一个可执行文件

c# - 寻找质数不起作用

c# - 我需要一个 .NET 自定义控件库