如何使Windows Form上的Label 上的文字及时得到更新?

我的应用程序中的一个函数实现如下功能:
{
通过openFileDialog 来让用户选择access数据库文件,
在Windows Form上用label1显示文件所在的路径,
建立到数据库的连接,
从表中读出记录放入dataset,
将记录条数显示在Windows Form上的另一个label2上。
}

但是程序在运行时出现如下情况:通过openFileDialog 选择完文件后,label1并没有及时得到更新,因为数据量比较大,所以等了很久,等到数据库中的记录全部放入dataset后label1才和label2同时得到更新。

我希望的情况是:用户通过openFileDialog 选择完文件后,label1及时得到更新,而不是等数据全部处理完了才更新label1。

我猜想原因可能是: 用户界面的更新要等这个线程有多余的cpu资源时才会做,所以用户选择了数据库文件后,线程把所有的cpu资源都用来处理数据库记录了,而没有及时更新label1。

请问如何解决这个问题?即如何使用户界面在第一时间得到该有的更新?(因为,如果程序在后台处理数据时界面得不到及时更新,用户会以为程序没有响应。)

---------------------------------------------------------------

将label的更新赋值顺序往前调一下试试
---------------------------------------------------------------

System.Windows.Forms.Form.Refresh()

Published At
Categories with Web编程
Tagged with
comments powered by Disqus