textbox 换行的问题,我在网上也找过很多了,但还是解决不了,还是上来请教一下高手们,新来的没什么分,见谅!textbox的   MultiLine=True    已设定了,但用vbcrlf  ak chr(13)+chu(10)也不行,试了几种办法,把类转换也不行,到网上找大部份都是说属性值没设好,但我已把textbox设为多行了,真的搞不懂,最后还试了一个光输出数字就可以换行,我不能换行的代码是这样的,因为是学习,所以内容没意义的:Private Sub Command2_Click()
Dim s%, a1%, b1%, c1%结果.Text = ""
a1 = 数1.Text: b1 = 数2.Text
For s = 1 To 3a1 = a1 + 2
b1 = b1 + 1
c1 = a1 + b1 + c1 & vbCrLf     '只是想查看一下循环过程的结构,和分行的方法,好点理解
                 ,就是这里换不了行
结果.Text = c1   ,结果是没错,在循环加了这个 & vbCrLf    应该是可以换行的吧,我觉得可能还是变量的问题,
                        不知错在那里
 
Next s
End Sub

解决方案 »

  1.   

    打错字,上面说明的vbcrlf 和 chr(13)+chu(10)都分别用过,不是ak
      

  2.   

    Private Sub Command2_Click()
    Dim s%, a1%, b1%, c1%, ret$结果.Text = ""
    数1.Text = 1
    数2.Text = 3a1 = 数1.Text: b1 = 数2.TextFor s = 1 To 3
      a1 = a1 + 2
      b1 = b1 + 1
      c1 = a1 + b1 + c1
      ret = IIf(ret = "", c1 & vbNewLine, ret & c1 & vbNewLine)
    Next s
    结果.Text = ret
    End Sub
      

  3.   

    呼呼,明白否?
    Private Sub Command2_Click()
    Dim s%, a1%, b1%, c1%结果.Text = ""
    a1 = 数1.Text: b1 = 数2.Text
    For s = 1 To 3a1 = a1 + 2
    b1 = b1 + 1
    c1 = a1 + b1 + c1 '只是想查看一下循环过程的结构,和分行的方法,好点理解
    结果.Text = 结果.Text & c1 & vbCrLf
     
    Next sEnd Sub
      

  4.   

    你好谢谢回答,只要能学到东西,呼呼就呼吧,哈哈我理解一下toury的代码?因为还是不能太确定,我说了这代码只是想看看结构性的地方,语法运用方式,没实际意义的Private Sub Command2_Click()
    Dim s%, a1%, b1%, c1%, ret$结果.Text = ""
    数1.Text = 1       '这里一开始给了两个初始值那么如果我在运行中更改后,
                       '一点Command2,就变回这个值了,是不是可以不用?
    数2.Text = 3a1 = 数1.Text: b1 = 数2.TextFor s = 1 To 3
      a1 = a1 + 2
      b1 = b1 + 1
      c1 = a1 + b1 + c1
      ret = IIf(ret = "", c1 & vbNewLine, ret & c1 & vbNewLine)
            '这里意思是不是说判断ret是否为空,就是当行是否为空,如果是的就在c1后面加一个换行
            '如果不是的就给ret 连接c1后面加一个换行,就是要另开一行
            '不知这样理解对不对
    Next s
    结果.Text = ret
    End SubEnd Sub
       还有因为第一次接触iif,书上也没价绍,所以我改一下用原始点的if好象也行,不知能不能这样,试过结果是一样的,但不知会不会有效率的分别
    ret = IIf(ret = "", c1 & vbNewLine, ret & c1 & vbNewLine)
    我换成
    If ret = "" Then
    ret = c1 & vbNewLineElseret = ret & c1 & vbNewLine
    End If还有一点,我原本的c1是有点多佘,因为原来的  结果.Text 不是在这里取值的,我只是想试试变量,原本
    c1的值我是想通过第二个按钮来再进行计算,然后再给结果.txt
    还有点想不通,用vbNewLin换行和我原来用的vbcrlf 或 chr(13)+chr(10)有什么分别?为什么我用这
    两个就换不了,也是给C1一个换行符,想来想去想不明,真的是呼呼的,可否解释一下,万分感谢,等下结贴
      

  5.   

    你把
       结果.Text = c1
    放到循环里了啊,这样就错了啊。每次循环都等于c1,最后就是最后一次的c1。
    要么像2楼那样,放到循环外。要么像我一样。
    其实我的方法和他的是一样的,他用了个变量来连接结果,我是直接用他本身来连接下一个结果。
      

  6.   

    还是不太明白,我原来的结果.Text = c1也不是在循环里,最初也是按ptzxzc大哥说法去理解,我是这样理解的,c1是用来装每次数据的盒子,因为每一个数据我都想一行一行分隔,等收集所有每一行数据后再在循环给结果.text所以c1 = a1 + b1 + c1 & vbCrLf 第一行后面加进一个换行符,就是换不了行,才试来试去,最后也不知为什么把 结果.Text = c1也放在循环里了,我现在还不理解为什么我用c1 = a1 + b1 + c1 & vbCrLf 不能换行,我是相找出原因,这样才能学到知识,我面皮厚,问多几次,大哥不要介意
      

  7.   

    别瞎玩,dim c1%后,c1被定义为整型变量,你把vbcrlf连接在整型变量后会起什么用?
    自己搞死自己,很容易。
    Private Sub Command2_Click()
        Dim s%, a1%, b1%, c1$
        
        结果.Text = ""
        a1 = 数1.Text: b1 = 数2.Text
        For s = 1 To 3
        
        a1 = a1 + 2
        b1 = b1 + 1
        
        c1 = c1 & (a1 + b1) & vbCrLf
        结果.Text = c1
        Next s
    End Sub
      

  8.   

    哦,还一个建议,例如你上面提到的IIF没接触的例子:
    翻书。手边没书或偷懒就GOOGLE
    同样可以节约你很多时间
      

  9.   

    是的呀,我试过s%, a1%, b1%, c1%,我对类型的理解还是混乱,本来这全是数字,我的理解是可以全用%来变量,这是我一开始定的,但就是只能算出最后结果,不能换行,请教一下,如果我用下面这种方式,想用vbcrlf来换行,怎么变量才对?
    Dim s%, a1%, b1%, c1%
        结果.Text = ""
        a1 = 数1.Text: b1 = 数2.Text
        For s = 1 To 3
        
        a1 = a1 + 2
        b1 = b1 + 1
        
        c1 = c1 + a1 + b1 & vbCrLf
        
        Next s
    结果.Text = c1
      

  10.   

    没看到 toury 的 ret$ 吗?你怎么看程序的啊?
      

  11.   

    toury 谢谢你的建议,你的方法我运行过了,很好谢谢,因为我刚开始学,手中的书说实话买了几年了,只是有空看看,现在立心要学,几个星期我都把书差点番烂了,原本是看着书带的盘来学的,但学了一半不到,从if开始到最后的数据库才十节课,跟本没有什么内容,反而在网上找多一点问题贴来看个人觉得更容易理解,有时看贴看到三四点,就是喜欢看着代码去理解,不会的再查,谢谢大家帮忙,我是真心来求学,希望以后多多指点