我的窗体里有两个listbox控件,我想通过按一个Command控件,将list1里选中的项加到list2中去,然后这些项在list1里消失。可是为什么我这样写不行?
  Sub command1_click()
   dim i as integer
    if list1.listindex=i then
      list2.additem list1.list(1)
      list1.removeitem list1.list(1)
    end if
  end sub有两个问题,首先,那个i好像只代表0,它只对第0项起作用,不然,那要一项项这么弄多麻烦?然后list1.removeitem list1.list(1)加上这段程序运行时它提示非法属性,为什么?请指教!!
     
   

解决方案 »

  1.   

    if list1.listindex<>-1 then
          i=list1.listindex
          list2.additem list1.list(i)
          list1.removeitem list1.list(i)
    end if
      

  2.   

    List2.AddItem List1.List(List1.ListIndex)
    List1.RemoveItem List1.ListIndex
      

  3.   

    Sub command1_click()
       dim i as integer
        if list1.listindex=i then
          list2.additem list1.list(1)
          list1.removeitem list1.list(1)
        end if
    end sub
    这段代码基本上不会执行,因为list为空,所以if list1.listindex=i 为flase直接就到endif了。
    i的初始化为0(你赋值除外)
    list的listindex第一个为0我该了代码如下:Private Sub Form_Load()
    Dim i As Integer
    For i = 0 To 10
        List1.AddItem i
    Next
    List1.ListIndex = 0
    End Sub
    Private Sub Command1_Click()
         If List1.ListIndex < 0 Then Exit Sub
          List2.AddItem List1.List(List1.ListIndex)
          List1.RemoveItem List1.ListIndex
    End Sub
    调试通过。