我的申请中有一个子表单。这个表单有大约 50 多个组合框,每个人都从数据库中获取数据。所有组合框都在窗体的加载事件中加载。数据很大。数据检索大约需要 2 分钟。当我打开此表单时,我的整个应用程序变得没有响应。应用程序挂起并在大约 2 分钟后恢复正常:/
正如我所研究的,我们可以使用不同的线程来避免这种情况。有人可以指导,是否可以安全可靠地实现多线程以使我的应用程序响应?
如果可能,请指导我编写示例代码,了解多线程在 C# 中的工作原理。您可以简单地解释使用具有 gridview 的表单,该表单在单独的线程中将数据表作为 daTASOURCE,并且 GUI 是响应的,即使数据库需要太多时间......感谢任何帮助。提前致谢!
最佳答案
看看 BackgroundWorker class .这完全可以做你想做的。您还可以包含进度条之类的内容,以向用户显示数据仍在加载,然后他们才能继续在您的子表单中执行操作。
关于c# - 在 C# Winforms 中使用多线程的响应式 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234735/