Does your version of VB include the ActiveX Control Interface Wizard? If it does, use it. Its a big help when creating user controls. Here is the code the wizard generates to implement the List properties.

VB Code:
  1. 'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
  2. 'MappingInfo=List1,List1,-1,List
  3. Public Property Get List(ByVal Index As Integer) As String
  4.     List = List1.List(Index)
  5. End Property
  6.  
  7. Public Property Let List(ByVal Index As Integer, ByVal New_List As String)
  8.     List1.List(Index) = New_List
  9.     PropertyChanged "List"
  10. End Property