windcandle() ( ,您好,照你的方法试了,不行呀. 进度条,不走吗?form2的load处理form3.show '从数据库中加载数据 unload form3form3中加了个进度条(prog2)和定时器, If Me.Prog2.Value = Me.Prog2.Max Then Me.Prog2.Value = 0 Me.Prog2.Value = Me.Prog2.Value + 1不起作用呀.谢谢
进度条的值必须在你对数据的处理函数/过程中设置。比如你处理数据的函数/过程名叫aaa() sub aaa() 处理一条数据 进度条.value=数据处理进度 end sub如果是下面这样就不对了 sub form_load() aaa() 进度条.value=数据处理进度 '这条语句只能执行一次 end sub
上面的代码有问题,应该类似下面的情况比如你处理数据的函数/过程名叫aaa() sub aaa() while ??? '这里是你的循环条件 处理一条数据 进度条.value=数据处理进度 form3.progressbar1.refresh '必要的时候刷新一下 wend end sub
不可能呀. 我主窗体代码如下:Private Sub MDIForm_Load() frmMain.Show
While sockClient.State <> sckConnected If prog2.Value = prog2.Max Then prog2.Value = 0 End If prog2.Value = prog2.Value + 1
DoEvents WendEnd Sub
下面例子我刚测试过: Form1:Private Sub Command1_Click() Load Form2 End SubForm2: Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Private Sub Form_Load() Dim cnt As Integer Dim i As Integer
Me.Show cnt = 100 Me.ProgressBar1.Max = cnt i = 0 Winsock1.Connect "127.0.0.1", 9000 While i < cnt i = i + 1 Me.ProgressBar1 = i Sleep 100 DoEvents WendEnd Sub
{
form3.show
'处理数据
form3.progressbar1.value = 处理数据的进度 'form3里有一个进度条控件
unload form3 '全部数据处理完
}
进度条,不走吗?form2的load处理form3.show
'从数据库中加载数据
unload form3form3中加了个进度条(prog2)和定时器, If Me.Prog2.Value = Me.Prog2.Max Then Me.Prog2.Value = 0
Me.Prog2.Value = Me.Prog2.Value + 1不起作用呀.谢谢
sub aaa()
处理一条数据
进度条.value=数据处理进度
end sub如果是下面这样就不对了
sub form_load()
aaa()
进度条.value=数据处理进度 '这条语句只能执行一次
end sub
sub aaa()
while ??? '这里是你的循环条件
处理一条数据
进度条.value=数据处理进度
form3.progressbar1.refresh '必要的时候刷新一下
wend
end sub
我主窗体代码如下:Private Sub MDIForm_Load()
frmMain.Show
Form1.Show 1End Subform1中有两个按钮:进度条(prog2)和socket控件(sockClient).
form1窗体代码如下:
Private Sub Form_Load()
sockClient.RemoteHost = "192.168.1.1"
sockClient.RemotePort = 40000
sockClient.Connect
While sockClient.State <> sckConnected
If prog2.Value = prog2.Max Then
prog2.Value = 0
End If
prog2.Value = prog2.Value + 1
DoEvents
WendEnd Sub
Form1:Private Sub Command1_Click()
Load Form2
End SubForm2:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Private Sub Form_Load()
Dim cnt As Integer
Dim i As Integer
Me.Show
cnt = 100
Me.ProgressBar1.Max = cnt
i = 0
Winsock1.Connect "127.0.0.1", 9000
While i < cnt
i = i + 1
Me.ProgressBar1 = i
Sleep 100
DoEvents
WendEnd Sub
读取……
caption="读取完毕"
直到处理完毕,自动退出。