vb一道关于列表框的问题,急

题目:在窗体上画一个文本框,名称为text1,text属性为空白。再画一个列表框,名称为L1,通过属性窗口向列表框中添加4个项目,分别为“AAAA”,“BBBB”,“CC... 题目:在窗体上画一个文本框,名称为text1,text属性为空白。再画一个列表框,名称为L1,通过属性窗口向列表框中添加4个项目,分别为“AAAA”,“BBBB”,“CCCC”,“DDDD”。程序运行后,在文本框中输入一个字符串,如果双击列表框中的任一项,则把文本框中的字符串添加到列表框中。
代码如下:
Dim i As Integer
Private Sub L1_dblClick()
For i = 0 To 3
If List1.Selected(i) = True Then
List1.AddItem a
End If
Next
End Sub
Private Sub Text1_Change()
a = Text1.Text
End Sub
说是实时错误424,但我看不出来哪儿是错的,请指点
展开
 我来答
13...8@163.com
2013-06-02 · TA获得超过307个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:379万
展开全部
问题:1 列表框名为L1, 你却有时用L1,有时用list1
2 a要定义全局变量

Dim i As Integer
Dim a As String
Private Sub L1_dblClick()
For i = 0 To 3
If L1.Selected(i) = True Then
L1.AddItem a
End If
Next
End Sub
Private Sub Text1_Change()
a = Text1.Text
End Sub
更多追问追答
追问
列表框名为L1, 你却有时用L1,有时用list1--我给忘了这回事儿,平常都是list1
追答
1 列表框名为L1, 你却有时用L1,有时用list1
2 a要定义全局变量
这2点都很重要,否则得不到你要的结果
帐号已注销
2013-06-02 · TA获得超过242个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:265万
展开全部
错误424意思是对象未定义.你的列表框名称为L1, 那么List1.Selected.... List1.Additem中的list1就是未定义的对象了,把它们改成L1.Selected....L1.Additem
还有你的变量a也应该先定义一下,在Dim i As Integer下面加上Dim a As String
还有你的逻辑也有点乱,你把L1.AddItem a改为L1.AddItem Text1.Text,那么Sub Text1_Change()这一过程,以及变量a根本不需要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-06-02 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2715万
展开全部
上面声明的应该是a

dim a as string

Private Sub L1_dblClick()
dim i as integer '这里声明 i
For i = 0 To 3
If List1.Selected(i) = True Then
List1.AddItem a
End If
Next
End Sub
更多追问追答
追问
为什么?我就搞不懂,有的时候声明放前面,有的时候放后面?
追答
哦,你应该掌握的知识是:变量的作用域:
1,在过程里声明的变量,叫做局部变量,它只能在该过程里起作用:
例如:
Private sub a1()
dim a as integer '这个就是只能在a1里起作用的局部变量
a=5
print a
end sub

Private sub a2()
print a '在这里这个变量不是a1里的?????不能使用a1里的

end sub

2,如果要在窗体的任何过程里都能使用同一个变量,那么要声明为模块变量
Private a as integer
Private sub a1()
a=5 '在这里这个变量是模块变量,a1 a2里都能使用
print a
end sub

Private sub a2()
a = a + 100
print a '在这里这个变量是模块变量,a1 a2里都能使用

end sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0o执着的小孩o0
2013-06-02
知道答主
回答量:9
采纳率:0%
帮助的人:14万
展开全部
列表框名称是L1,你代码里面的list1.Selected(i)这类的list1 都应该改成 L1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奋斗ing2015
2013-06-02
知道答主
回答量:21
采纳率:0%
帮助的人:14.8万
展开全部
Option Explicit
Dim i, a

Private Sub List1_DblClick()
For i = 0 To 3
If List1.Selected(i) = True Then
List1.AddItem a
End If
Next i
End Sub

Private Sub Text1_Change()
a = Text1.Text
End Sub
我试着没错啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式