I have a very simple two-tier listbox: changing value in Top loads a new array to Bottom. The Top is bound to arrTop , a collection of clsTop, which in turn is a collection of clsBot's.

Now, all works fine until i put ANY code at all into the Bottom listbox SelectedValueChanged routine. Then the text in the bottom listbox stops showing. The values are there, i can click on them, but their color is white on white.

Here's the code (the SelectedValueChanged is at the bottom):
VB Code:
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         arrTop = New ArrayList
  3.         Dim newLine As New clsTop
  4.         newLine.Name = "Top1"
  5.         newLine.Add(New clsBot("1-1"))
  6.  
  7.  
  8.  
  9.         Dim newLine2 As New clsTop
  10.         newLine2.Name = "top2"
  11.         newLine2.Add(New clsBot("2-1"))
  12.         newLine2.Add(New clsBot("2-2"))
  13.         newLine2.Add(New clsBot("2-3"))
  14.         newLine2.Add(New clsBot("2-4"))
  15.         newLine2.Add(New clsBot("2-5"))
  16.         newLine2.Add(New clsBot("2-6"))
  17.         newLine2.Add(New clsBot("2-7"))
  18.         newLine2.Add(New clsBot("2-8"))
  19.         newLine2.Add(New clsBot("2-9"))
  20.         newLine2.Add(New clsBot("2-10"))
  21.  
  22.  
  23.         arrTop.Add(newLine)
  24.         arrTop.Add(newLine2)
  25.         lstTop.DataSource = Nothing
  26.         lstTop.DataSource = arrTop
  27.         lstTop.DisplayMember = "Name"
  28.  
  29.     End Sub
  30.  
  31.     Private Sub lstTop_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstTop.SelectedIndexChanged
  32.         lstBot.DataSource = Nothing
  33.         lstBot.DataSource = lstTop.SelectedValue
  34.         lstBot.DisplayMember = "Name"
  35.     End Sub
  36.  
  37.  
  38.     Private Sub lstBot_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstBot.SelectedValueChanged
  39.         Dim curBot As clsBot = lstBot.SelectedValue
  40.         chkProcessed.Checked = curBot.Processed
  41.         If Not curBot.Processed Then curBot.Process()
  42.         lstBot.Refresh()
  43.         'lstBot.ForeColor = Color.AliceBlue
  44.     End Sub