If rsSearch.EOF = False Then 
    Label.Visible = True 
        
    For ncntr = 1 To rsSearch.RecordCount 
        lstCustom.AddItem   rsSearch.Fields("CustomNO") 
        rsSearch.MoveNext 
    Next 
    ........
End If Label.Visible = False 在上面代码中.我想实现的功能是查询数据前 label的visible为真,数据查寻结束后Label就消失了.但是我在实验过程中,总是查寻跟这两个执行过程同时实现,或者是先查寻然后那两个再执行的,请问我想要的效果如何实现?谢谢.

解决方案 »

  1.   

    在"Label.Visible = True "這句後面,加上延時
    程序運行太快,眼睛看不出變化
      

  2.   

    2楼,如何加延时,1楼,DoEvents怎么用,能借本案举例吗?
      

  3.   

    DoEvents用法:
    Label.Visible   =   True 
    DoEvents延时:
      增加控件:Timer
      

  4.   

    楼上的,谢谢你的正解,还有我在没有你的DoEvents之前相过用timer,但是应该怎么用呢?Label.Visible = True
    timer1.Enabled=true
        if timer1.Interval=0 then
            ...
        end if是这样用吗?
      

  5.   

    在改变 visibled 的下一句,加一个doevents就可以了,两个都加。
    不要使用延时,不但没用,而且危险。
      

  6.   

    那么现在有个问题,就是如果查寻数据量很小在一秒中内能够查寻的出来的话就不要Label.Visible   =   True,如果查寻时间大于1秒的话才出现,怎么做呢.
      

  7.   

    你可以這樣: If   rsSearch.EOF   =   False   Then 
            PanelReadDatabase.Visible   =   True 
            Me.Refresh '加上這一句
            For   ncntr   =   1   To   rsSearch.RecordCount 
                    lstCustom.AddItem   rsSearch.Fields("CustomNO") 
                    rsSearch.MoveNext 
            Next 
    End   If 
    也可以這樣: If   rsSearch.EOF   =   False   Then 
            PanelReadDatabase.Visible   =   True 
            DoEvents '加上這一句
            For   ncntr   =   1   To   rsSearch.RecordCount 
                    lstCustom.AddItem   rsSearch.Fields("CustomNO") 
                    rsSearch.MoveNext 
            Next 
    End   If在你的数据库查寻很慢的问题. 中回答了問題.http://topic.csdn.net/u/20080212/16/eed137c0-fe73-4f26-b1f0-baf29041d41b.html
      

  8.   

    改成:
    Label.Visible = True 
    Doevents
    With lstCustom
      .Visible=False
      For ncntr = 1 To rsSearch.RecordCount 
        .AddItem   rsSearch.Fields("CustomNO") 
        rsSearch.MoveNext 
      Next 
      .Visible=True
    End With
    这样一来可以让Label及时显示出来,
    二来,当你数据量很大的时候可以极大的提高程序运行速度
      

  9.   

    这样:
    If rsSearch.EOF = False Then
        Timer1.Interval = 1000 
        Timer1.Enabled = True
            
        For ncntr = 1 To rsSearch.RecordCount 
            lstCustom.AddItem   rsSearch.Fields("CustomNO") 
            rsSearch.MoveNext 
        Next 
        ........
    End If Timer1.Enabled = False
    Label.Visible = False 'Timer 事件
    Private Sub Timer1_Timer()
        Label1.Visible = True
        Label1.Refresh
    End Sub
      

  10.   

    這樣延時:private sub aaaa()
    dim Wait as double
    Dim dTime As Double
        dtime = Timer
        Do While (Timer - dtime) < Wait
            If Timer < dtime Then dtime = Timer
            DoEvents
        Loop
    end sub
      

  11.   


        Label.Visible = True
        Label.Refresh    '增加这一行