我用richtextbox动态加载数据,因为量大,每次加载的时候都会等,最后通过设置再回到首行,不知道能不能让该控件后台加载,就是加载的过程中,控件始终显示首行,不会让用户觉得需要等待,那位高人有好的解决办法请告知小弟,不胜感激!

解决方案 »

  1.   

    数据放在资源文件或文本文件里,先加载richtextbox,再读取数据到richtextbox试一试
      

  2.   

    Private Sub LtsC(sx As String)
    Dim r As Long
    Dim sBuffer As String   MyRs.Open "select  * from sms order by id desc", MyDb, adOpenStatic, adLockReadOnly
       If MyRs.RecordCount > 0 Then
                r = 0
                 Do While Not MyRs.EOF
                    Call hanggao
                    sBuffer = ""
                    r = r + 1
                      sBuffer = Chr(32) & r & "."
                      sBuffer = sBuffer & "【" & MyRs!classname & "】" & Chr(32) & MyRs!smscontent & vbCrLf
                      ShowText.SelColor = vbBlack
                      ShowText.SelStart = &H7FFFFFFF
                      ShowText.SelText = sBuffer
                      ShowText.SelColor = &H80FF&
                      ShowText.SelStart = &H7FFFFFFF
                      ShowText.SelText = "------------------------------------------------------------------------------------------------" & vbCrLf
                      
                   MyRs.MoveNext
                 Loop
                    
               zjls.Caption = MyRs.RecordCount '显示总记录数
               MyRs.Close
               ShowText.SelStart = 1   '焦点回到首行
          Else
            MyRs.Close
          End If
          
    End Sub
      

  3.   

    直接将内容写到txt里再导入,是解决了这个问题,但我在显示的时候,每条数据显示完要显示一个分隔行,这个行是不同颜色的,这个就比较难实现了。望高人给予解决办法。
      

  4.   

    从txt导入数据后,再循环设置分隔行的颜色~~~~
      

  5.   

    关键是这样一来,我还得先从数据库中把数据写到文本文件,再读取到richtextbox,然后再清空文本文件,会不会很影响效率,而且,这个文本文件也没办法隐藏,使用的时候很容易就被别人 把数据全拷走了。难道就真的没有更好的办法让richtextbox静默加载数据么?