一个关于VB2005中 listbox的奇怪的问题
我使用多选的listbox来取得选项的值,不知怎么搞得,总是只能选到listbox中最后一项的值。
我是这样给listbox添加选项的:
Do Until Rs.EOF
TempPeople.Id = Rs.Fields( "id ").Value
TempPeople.Name = Rs.Fields( "姓名 ").Value
TempPeople.Nickname = Rs.Fields( "昵称 ").Value
TempPeople.Sex = Rs.Fields( "性别 ").Value
ListBox1.Items.Add(TempPeople)
Rs.MoveNext()
Loop
这个过程现实的结果是没有问题的,listbox现实的项是正确的。
但是,之后再获取listbox.items或者listbox.selecteditems中的项时,得到的确实是相同类型的对象,但是只能获得列表中的最后一个对象!
也就是说,我向listbox添加了张三,李四,王二三个项,能显示出来。多选后,返回值总是最后一个王二。而且是选了几个项就获得几个王二。不论我选择的是张三和李四,或者是张三和王二,或者是三个都选,selecteditems总是返回2个或3个王二,items里面则全部是王二!这到底是怎么回事?怎么办?
[解决办法]
Do Until Rs.EOF
TempPeople=New People '可以判定就这儿的问题了
TempPeople.Id = Rs.Fields( "id ").Value
TempPeople.Name = Rs.Fields( "姓名 ").Value
TempPeople.Nickname = Rs.Fields( "昵称 ").Value
TempPeople.Sex = Rs.Fields( "性别 ").Value
ListBox1.Items.Add(TempPeople)
Rs.MoveNext()
Loop