麻烦VB高手来看一看

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:09:37
我正在自学VB,书中有一道例题,题目如下:

两个列表框,左列表框(list1)罗列了一些歌手名字,右列表框(list2)初始状态为空;点击向右按钮(>),可以将左列表框中的指定选项移动到右边列表框;点击全部向右按钮(>>),可以将左列表框中所有的内容搬到右列表框中;点击向左按钮(<),可以将右列表框中选定的表项移动到左列表框中;点击全部向左按钮(<<),可以将右列表框中的所有内容移动到左列表框中。

我看答案时,有些地方看不懂,就拿设置向右的按钮(>)编程时,书中给出的答案为:

Private Sub Command1_Click()
If List1.SelCount > 0 Then
List2.AddItem List1.List(List1.ListIndex)
List1.RemoveItem List1.ListIndex
End If
End Sub

我理解为:
如果list1选中的项目大于0,那么list2增加list1选中的项目。list1删除选中的项目。

我理解的对吗?

如果对,请帮我再用通俗易懂的话解释一下,因为我是根据单词的意思,来做出的大概理解。

如果不对,请帮我完完全全的解释下。

其中,尤其是这条语句:List1.List(List1.ListIndex)
我根本不明白,为什么要这样编写。

谢谢大家了,我在线敬候答案,VB高手可以加我QQ指导下我,904845979 验证请打上:V B

万分感谢!!!

你这样的理解是对的,我简单解释一下:List1.ListIndex代表列表的索引值,也许是0也许是1等等,是一个可变的索引数,相当于List1.List(0)或者List1.List(1),由于这个数不确定所以用List1.ListIndex代替,而List1.List(List1.ListIndex)又代表了列表框中的项目,如果还不理解到网站http://www.bccn.net/Article/kfyy/vb/jc/200412/411.html多读几遍就会理解的,不难理解。


seicount属性用来返回或设置(这里自然就是返回了)列表框中项的索引值
List1.List(List1.ListIndex)中List1.ListIndex会设置一个可用的索引值,即还没有用到的索引值,List1.ListIndex即作为list项的下标值

list1.listindex指的是选中项目的索引值,比如选中的是第一项,list1.listindex就为0.
在移除选项的时候只需要告诉程序他的索引值,就能删除,例如这里的list1.removeitem list1.listindex ,就是告诉程序去删除所选中的项目。
而添加项目需要的是告诉程序你所要添加项目的名称(item),还有你要添加在第几位(index).因此就有了这里的list1.list(list1.listindex).懂了没?这里你要理解的是list1.listindex仅代表的是一个数字!

建议遇到这些问题就上机试验一下,做的多了自然就知道, 实践 !