I had to reread my previous posts to see. The next step would be making a controller or builder class that opens the files and makes all the entry objects. Actually for the sake of space I'll just add it as a shared method of the entry class:
VB Code:
  1. Public Class Entry
  2.  
  3.     Private _ID As String
  4.     Private _Name As String
  5.     Private _Number1 As Single
  6.     Private _Number2 As Single
  7.  
  8.     Public Property ID() As String
  9.         Get
  10.             Return _ID
  11.         End Get
  12.         Set(ByVal Value As String)
  13.             _ID = Value
  14.         End Set
  15.     End Property
  16.  
  17.     Public Property Name() As String
  18.         Get
  19.             Return _Name
  20.         End Get
  21.         Set(ByVal Value As String)
  22.             _Name = Value
  23.         End Set
  24.     End Property
  25.  
  26.     Public Property Number1() As Single
  27.         Get
  28.             Return _Number1
  29.         End Get
  30.         Set(ByVal Value As Single)
  31.             _Number1 = Value
  32.         End Set
  33.     End Property
  34.  
  35.     Public Property Number2() As Single
  36.         Get
  37.             Return _Number2
  38.         End Get
  39.         Set(ByVal Value As Single)
  40.             _Number2 = Value
  41.         End Set
  42.     End Property
  43.  
  44.     Public Sub New()
  45.         MyBase.new()
  46.     End Sub
  47.  
  48.     Public Shared Function Parse(ByVal line As String) As Entry
  49.         'I switched the constructor to a shared parse method
  50.         'which seemed better since it is really just a parser anyway
  51.         Try
  52.             Dim parts() As String = line.Split(Char.Parse(","))
  53.             Dim newEntry As New Entry
  54.             newEntry.ID = parts(0)
  55.             newEntry.Name = parts(1)
  56.             newEntry.Number1 = CType(parts(2), Single)
  57.             newEntry.Number2 = CType(parts(3), Single)
  58.             Return newEntry
  59.         Catch ex As Exception
  60.             Throw New ArgumentException("Invalid data!")
  61.         End Try
  62.     End Function
  63.  
  64.     Public Shared Function GetEntriesFromFile(ByVal filepath As String) As Entry()
  65.         Dim fs As New IO.FileStream(filepath, IO.FileMode.Open)
  66.         Dim sr As New IO.StreamReader(fs)
  67.         'temp storage for results
  68.         Dim al As New ArrayList
  69.         Do While sr.Peek > 0
  70.             'make an entry object for every line
  71.             Dim item As Entry = Entry.Parse(sr.ReadLine)
  72.             al.Add(item)
  73.         Loop
  74.         fs.Close()
  75.         'convert back to a regular array of entry objects
  76.         Return CType(al.ToArray(GetType(Entry)), Entry())
  77.     End Function
  78.  
  79. End Class
  80.  
  81. 'syntax
  82.         ListBox1.DisplayMember = "Name"
  83.         ListBox1.DataSource = Entry.GetEntriesFromFile("data.txt")