【问题标题】:Application hangs when loading data加载数据时应用程序挂起
【发布时间】:2012-09-28 16:03:56
【问题描述】:

在我的 C# 桌面应用程序中,我想在 datagridview 中显示所有临时文件,但是当加载 datagridview 时,我的程序挂起并且在完全加载 datagridview 之前没有响应。

我怎样才能使我的应用程序在执行过程中仍然存在?

【问题讨论】:

  • 您的应用程序代码是什么样的?你是多线程的吗?
  • 我没有使用任何线程,但我可以实现线程。但是如果我使用线程,你能确保我不会出现问题吗?
  • @AnimeshDatta:我们无法确保您不会发现其他问题。但是,正确使用线程是应用程序在长时间运行期间挂起的正确解决方案。
  • 在我的应用程序中,我使用此代码 { ThreadStart threadstatr = new ThreadStart(My_FunctionName);线程 thread = new Thread(threadstatr);线程.Start(); } 但程序仍然挂起,请提供一些解决方案

标签: c# winforms


【解决方案1】:

看看使用

BackgroundWorker Class

BackgroundWorker 类允许您在 单独的专用线程。下载等耗时的操作 和数据库事务可能会导致您的用户界面 (UI) 看起来 好像它在它们运行时停止响应一样。当你 想要一个响应式 UI 并且您面临相关的长时间延迟 通过这样的操作,BackgroundWorker 类提供了一个方便的 解决方案。

【讨论】:

    【解决方案2】:

    使用BackGroundWorker 加载网格。它是一个单独的dedicated thread。在实施之前阅读这些文章

    http://www.dotnetperls.com/backgroundworker

    http://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 2013-02-07
      • 2012-05-25
      • 1970-01-01
      相关资源
      最近更新 更多