VB控件数组的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 07:09:22
Const n = 57
Dim i!
Dim TextBox(n)

Private Sub Command1_Click()
If Val(TextBox(n)(i).Text) < 59 Then Val(TextBox(n)(i).Text) = 50
If TextBox(n)(i).Text = "优" Then Val(TextBox(n)(i).Text) = 95
If TextBox(n)(i).Text = "良" Then Val(TextBox(n)(i).Text) = 85
If textboxn(n)(i).Text = "中" Then Val(TextBox(n)(i).Text) = 75
If TextBox(n)(i).Text = "及格" Then Val(TextBox(n)(i).Text) = 65
If TextBox(n)(i).Text = "不及格" Then Val(TextBox(n)(i).Text) = 50
显示错误,“赋值号左边的函数必须返回变体或对象,什么意思呀?
最好留下你的QQ。
问题补充:那个n是文件名
i 是个 控件数组的下标

就是有好多个控件数组都要满足这个条件。
比如说我有57个数组,i是1 to 18的
然后每个数组都有18个下标。
怎么能让它们都满足上面的条件呢?

Val(TextBox(n)(i).Text) = 50 这句是错误的.
改作:TextBox(i).Text = "50"
n你明明定义的是个常量值为57,怎么是文件名.控件数组能不能是TextBox(n)(i)的吧.貌似二维数组.

写个模子供你参考(属性窗口中设置text1的index为0)
Private Sub Command1_Click()
For i = 0 To 9
If Text1(i).Text = "优" Then Text1(i).Text = 95
If Text1(i).Text = "良" Then Text1(i).Text = 85
If Text1(i).Text = "中" Then Text1(i).Text = 75
If Text1(i).Text = "及格" Then Text1(i).Text = 65
If Text1(i).Text = "不及格" Then Text1(i).Text = 50
Next i
End Sub

Private Sub Form_Load()
For i = 1 To 9
Load Text1(i)
Text1(i).Top = Text1(0).Top + (i) * (Text1(0).Height)
Text1(i).Visible = True
Next i
End Sub

===========================================
你可以把textbox(57)中的textbox(0~18)当成第一组的18个元素,textbox(19~37)当成第二组,textbox(38~56)是第三组啊

漏洞太多:
一、“TextBox(n)(i)是什么???”错误的语法格式。如果一个是数组索引,那另一个又是什么?
二、“Val(TextBox(n)(i).Te