Il ListBox non offre questa possibilità.
In alternativa puoi utilizzare un ListView.
Guarda questo esempio:
codice:
Dim Cont1 As Byte
Dim StrTemp As String
Dim NumTemp As Byte
Dim Colore As ColorConstants

LV.BackColor = &H80C0FF
LV.ListItems.Clear
LV.ColumnHeaders.Clear
LV.View = lvwReport
LV.ColumnHeaders.Add
LV.ColumnHeaders.Add , , "Colonna 1"
LV.ColumnHeaders.Add , , "Colonna 2"
LV.ColumnHeaders.Add , , "Colonna 3"
LV.ColumnHeaders.Item(1).Width = 0

For Cont1 = 1 To 10
  LV.ListItems.Add
  StrTemp = "Elemento " & CStr(Cont1)
  LV.ListItems.Item(Cont1).SubItems(1) = StrTemp
  LV.ListItems.Item(Cont1).SubItems(2) = StrTemp
  LV.ListItems.Item(Cont1).SubItems(3) = StrTemp
  
  Randomize Timer
  NumTemp = CByte(Int((15 - 0 + 1) * Rnd + 0))
  Colore = QBColor(NumTemp)
  LV.ListItems.Item(Cont1).ListSubItems.Item(1).ForeColor = Colore
  
  Randomize Timer
  NumTemp = CByte(Int((15 - 0 + 1) * Rnd + 0))
  Colore = QBColor(NumTemp)
  LV.ListItems.Item(Cont1).ListSubItems.Item(2).ForeColor = Colore
  
  Randomize Timer
  NumTemp = CByte(Int((15 - 0 + 1) * Rnd + 0))
  Colore = QBColor(NumTemp)
  LV.ListItems.Item(Cont1).ListSubItems.Item(3).ForeColor = Colore
Next Cont1