在C#中在运行时更新UI?

时间:2011-10-17 11:09:42

标签: c# winforms

我创建了一个C#Winforms应用程序。

在这个应用程序中,我在ShowDialog模式下打开了一个表单,当我单击OK按钮时,它开始将联系人从GridView导入数据库的过程(行数最多可达15,000)。

问题在于,当导入过程开始时我会在循环中增加progressBar的值,但如果表单失去焦点,我再次将焦点设置为该表单,则进度条不会更新。

即使表单失去焦点,如何更新进度条?

1 个答案:

答案 0 :(得分:2)

不时使用Application.DoEvents(),但你真的应该使用BackgroundWorker来防止这种情况发生。