如何在TextBox中输出下列格式的文本?
第X列      X            Y            Z
1       100.00        100.00       100.00
2      1000.00       1000.00      1000.00
3     10000.00      10000.00     10000.00
3    100000.00     100000.00    100000.00在PictureBox中很好实现,但在TextBox中如何实现呢?
请各位帮帮忙,一定要符合上面的输出格式

解决方案 »

  1.   

    Text1的MultiLine属性设为True    Text1.Text = "第X列      X            Y            Z" & vbCrLf _
                        & "1       100.00        100.00       100.00" & vbCrLf _
                        & "2      1000.00       1000.00      1000.00" & vbCrLf _
                        & "3     10000.00      10000.00     10000.00" & vbCrLf _
                        & "3    100000.00     100000.00    100000.00"
      

  2.   

    如果是用程序动态输出的话,要计算设定每一列的宽度,宽度不够的话,在前面补空格,每一行后面加vbCrLf(回车换行符)
      

  3.   

    Text1.Text = "第X列" & vbTab & "X" & vbTab & vbTab & "Y" & vbTab & vbTab & "Z" & vbCrLf _
                        & "1" & vbTab & "100.00" & vbTab & vbTab & "100.00" & vbTab & vbTab & "100.00" & vbCrLf _
                        & "2" & vbTab & "1000.00" & vbTab & vbTab & "1000.00" & vbTab & vbTab & "1000.00" & vbCrLf _
                        & "3" & vbTab & "10000.00" & vbTab & "10000.00" & vbTab & "10000.00" & vbCrLf _
                        & "3" & vbTab & "100000.00" & vbTab & "100000.00" & vbTab & "100000.00"字段数值宽度小于 8 字节时使用 2 个 vbTab, 否则使用 1 个。
      

  4.   

    楼上的,有问题的。会出现对齐的问题。也就是当有些字符串长度大于一个TAB,有些则小于。例如以下代码:Private Sub Command1_Click()
    Dim sResult As String
    Dim i As Integer
    Dim j As Integer
    Dim iLength As IntegerFor i = 1 To 4
        For j = 1 To 3
            Randomize
            iLength = Rnd * 10
            sResult = sResult & MKString(iLength)
            If j <> 8 Then
                sResult = sResult & vbTab
            End If
        Next
        If i <> 4 Then
            sResult = sResult & vbCrLf
        End If
    NextPrint sResultEnd Sub
    Private Function MKString(iLength As Integer)
    '创建指定长度的字符串
    MKString = Replace(Space(iLength), " ", iLength)
    End Function尽管使用了VBTAB,但是仍旧不能很好对齐。
    还是用LEN对字符串长度进行判断,然后再计算空格比较好。
      

  5.   

    '在固定数据长度中将返回的数据右边的空格数
    Private Function RightSpaces(ByVal Date_Str As String) As Single    Dim Str_Pos      As Integer
        Dim ByteWidth    As Integer
        Dim Date_Len      As Integer
        Dim Date_ChineseCount As Integer
        Dim Max_Len        As Integer    
     
        Max_Len = 15        '可以自己定义 
        
        Date_ChineseCount = 0
        ByteWidth = 90
        
        Date_Len = Len(Date_Str)
        For Str_Pos = 1 To Len(Date_Str)
            If Asc(Mid(Date_Str, Str_Pos, 1)) < 0 Then
                Date_ChineseCount = Date_ChineseCount + 1
            End If
        Next Str_Pos    Date_Len = Date_Len + Date_ChineseCount
        RightSpaces = Max_Len - Date_Len
        If RightSpaces < 0 Then RightSpaces = 0
        
    End Function
      

  6.   

    用space函数。
    如:
        X1 = "100.00"
        X2 = "1000.00"
        X3 = "10000.00"
        x4 = "100000.00"
        a = Space(13 - Len(X1)) & X1
        b = Space(13 - Len(X2)) & X2
        c = Space(13 - Len(X3)) & X3
        d = Space(13 - Len(x4)) & x4
        Text1 = "第X列      X            Y            Z" & vbCrLf _
              & "1" & a & a & a & vbCrLf _
              & "2" & b & b & b & vbCrLf _
              & "3" & c & c & c & vbCrLf _
              & "4" & d & d & d & vbCrLf