try this:

vb Code:
  1. Dim items(ListBox2.Items.Count - 1) As String
  2. ListBox2.Items.CopyTo(items, 0)
  3. Array.Sort(items, New comparer2)
  4. ListBox2.Items.Clear()
  5. ListBox2.Items.AddRange(items)

this is the comparer class:

vb Code:
  1. Public Class comparer2
  2.     Implements IComparer
  3.  
  4.     Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
  5.         If x.ToString.Split("-"c)(0) = y.ToString.Split("-"c)(0) Then
  6.             Return CInt(x.ToString.Split("-"c)(1)).CompareTo(CInt(y.ToString.Split("-"c)(1)))
  7.         Else
  8.             Return x.ToString.Split("-"c)(0).CompareTo(y.ToString.Split("-"c)(0))
  9.         End If
  10.     End Function
  11.  
  12. End Class