Dim TempStr As String
Dim I as longfor  i=1 to 9999999
    TempStr=TempStr & i & vbCrLf
next itext1.text=TempStr

解决方案 »

  1.   

    把text1.text 变成 text1 就可以了, 那样可以快许多了
      

  2.   

    Private Declare Function GetTickCount Lib "kernel32" () As Long'以下代码较慢,用于比较
    Private Sub Command1_Click()
      Dim Tempstr As String
      Dim i As Long, T As Long
      
      T = GetTickCount
      For i = 1 To 9999
          Tempstr = Tempstr & i & vbCrLf
      Next i
      
      RichTextBox1.Text = Tempstr
      Form1.Caption = CStr((GetTickCount - T) / 1000) & "秒 "
    End Sub'首先,需要说明的是,9999999实在太大,想不把机子弄死都很难.
    '其次,text1有容量限制,无法那么长的字符串,会溢出的.改用 richtextbox吧
    '与上面的代码相比,下面这样会快很多(虽然99999比9999大得多)
    Private Sub Command2_Click()
      Dim Tempstr As String
      Dim i As Long, T As Long
      Dim arr(99998) As String
      
      T = GetTickCount
      For i = 1 To 99999
        arr(i - 1) = CStr(i)
      Next i
      Tempstr = Join(arr, vbCrLf) & vbCrLf
      RichTextBox1.Text = Tempstr
      Form1.Caption = CStr((GetTickCount - T) / 1000) & "秒 "
    End Sub
      

  3.   


      for  i=1 to 9999999
         DoEvents
         text1.text=text1.text & i & chr(13) & chr(10)
      next i