【发布时间】:2014-10-16 18:14:10
【问题描述】:
我开发了一个 C# 应用程序。在运行时,我切换到系统中的另一个窗口,然后应用程序进入无响应模式,但后台进程正在运行。我在该应用程序中有一个进度条。我需要看看状态,它完成了多少..
progressBar1.Visible = true;
progressBar1.Maximum = dt.Rows.Count;
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
-----
----
-----
progressBar1.Value = i;
if (progressBar1.Value == progressBar1.Maximum - 1)
{
MessageBox.Show("Task completed");
progressBar1.Visible = false;
}
}
}
【问题讨论】:
-
最好分享代码..因为有时您会覆盖
WinProc或其他一些事件。 -
WinForms, WPF, SL ?如何/什么线程?
-
我没有在我的应用程序中使用任何线程概念
-
但正如@HenkHolterman 所说,您使用的是什么框架? WPF?银光? WinForms?
-
For 循环会在你的应用程序运行时冻结它。您的 for 循环在 UI 线程上运行,此时您使用的框架无关紧要。将工作外包给报告进度的后台工作人员,您将获得所需的结果。
标签: c#