请问个们高手,VB的类开发中能不能实现以下的功能    Dim mItem As ListItem
    
    Set mItem = Me.ListView1.ListItems.Add
    mItem.Text = "产品编号"
    mItem.SubItems(1) = "描述"
    Set mItem = Nothing我用集合对象模拟了这个过程,但发现不行,mItem类的数据在后期改变后,但在ListItems集合中对应的项目无法随之而改变.mItem无法直接与ListItems集合关联,请问有其他方法可以达到这个效果吗?

解决方案 »

  1.   

    我的意思,自定义的类也实现这样的效果.
    比如:已知类:Dogs,DogPrivate Sub Command1_click
    dim mDog as  Dog
    dim mDogs as new Dogsset mDog = mDogs.AddWith mDog
        .ID="0001"
        .Name="lily"
    End WithSet mDog=NothingEnd Sub 
      

  2.   

    这时再访问mDogs集合,里面就有数据了.就像上面的ListView控件的添加方法
      

  3.   

    可以啊Public SubItems As Collection
      

  4.   


    Private Sub Command1_click
    dim mDog as  Dog
    dim mDogs as new Dogs '这个就是集合set mDog = mDogs.Add'添加个空记录并赋值给mDog.  mDog这时应该是新添加项目的引用.'后期设置条目数据.
    With mDog
        .ID="0001"
        .Name="lily"
    End WithSet mDog=NothingEnd Sub 
    现在问题是后期设置的项目数据,不能直接反应到集合mDogs中
      

  5.   


      Dim mItem As ListItem
        
        Set mItem = Me.ListView1.ListItems.Add
        mItem.Text = "产品编号"
        mItem.SubItems(1) = "描述"
        Set mItem = Nothing
        Msgbox me.listview1.listItems(1).text '这时Text属性的值就是"产品编号"像这个ListView控件mItem后期设置数据值后,就可以在ListItems集合就直接反应出来.
      

  6.   

    dim mDog as new Dog
    dim mDogs as new collection
     
    '后期设置条目数据.
    With mDog
        .ID="0001"
        .Name="lily"
    End WithmDogs.Add myDog,"n" & myDog.ID
    Set mDog=Nothing'修改mDogs集合中的数据
    mDogs.item(1).id="001"
    mDogs.item(1).Name="Program_andy"set myDog=myDogs.item(1)
    debug.print myDog.ID
    debug.print myDog.Name
      

  7.   

    多谢caozhy版主.搞定了.加完后有个Item属性可以直接对集合中的对象进行操作.学习了.哈.
    不好意思,分不多:)
      

  8.   

    也多谢CityBird,你的代码也是这个意思.Item属性是关键.OK搞定了.