回 帖 发 新 帖 刷新版面

主题:[讨论]哪位高手解决一下文本框数组问题

我建立了5个文本框控件数组,通过下面的方法传值
Private Sub Text2_Change(Index As Integer)
    T_Digit = Val(Text2(Index).Text)
    P__Digit = Val(Text2(Index).Text)
    E__Digit = Val(Text2(Index).Text)
    Q_Digit = Val(Text2(Index).Text)
    H__Digit = Val(Text2(Index).Text)
End Sub


为什么一直不能赋值呢?请解答,谢谢!!

回复列表 (共2个回复)

沙发

我想:
1、你对文本框的Change事件并不了解。如果你在text2(1)里输入3.125,你知道会调用几次你的那个过程?6次!鼠标点击是第一次,按下3,是第二次,按下.是第三次,按下1是第四次,按下2是第五次,按下5是第六次!
[size=4][color=red]2、你把同样的值赋给五个变量,有什么价值?为什么不干脆用一个变量![/color][/size]     这是你错误的根本原因!

建议作一个“确定按钮”,当五个文本框输入去好了的时候按哪个按钮。这就是你为什么在正规的软件里经常看到“确定”的原因!

综上,改编如下:
Private Sub 确定_Click()
    for i=0 to 4
        if text2(i)="" then
            msgbox "你还有至少一个竖直没有输入呢" & vbcrlf & "请输入完整后,在按这个按钮!"
            exit sub
        endif
    next i
    T_Digit = Val(Text2(0).Text)
    P__Digit = Val(Text2(1).Text)
    E__Digit = Val(Text2(2).Text)
    Q_Digit = Val(Text2(3).Text)
    H__Digit = Val(Text2(4).Text)
End Sub

板凳

谢谢老大!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册