ProgressBar1.Min = 0 '最小值
ProgressBar1.Max = rst.RecordCount '最大值(应该根据你循环内容确定)
ProgressBar1.Value = ProgressBar1.Min
ProgressBar1.Visible = True
Do While Not rst.EOF
…………
ProgressBar1.Value = ProgressBar1.Value + 1
Loop
ProgressBar1.Max = rst.RecordCount '最大值(应该根据你循环内容确定)
ProgressBar1.Value = ProgressBar1.Min
ProgressBar1.Visible = True
Do While Not rst.EOF
…………
ProgressBar1.Value = ProgressBar1.Value + 1
Loop
2)试试在vb的程序里使用doevents
3)使用线程控制界面。
1)在Dll入口参数中加入进度条的Hwnd,在Dll中处理时把SendMessage函数把完成的进度比率发送到Hwnd对应的句柄中(中间要让Dll中实现PeekMessage,TanslateMessage等函数实现类似Vb中的Doevents功能。)
2)在Vb中显示进度条的窗体中接收处理由Dll发送来的消息。