Prima di tutto ti fai una classe pubblica o privata che implementa IComparer
codice:
Public Class CompareByText
    Implements IComparer

    Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
        'due oggetti null sono uguali
        If (x Is Nothing) And (y Is Nothing) Then Return 0

        'ogni oggetto non null è maggiore di un oggetto null
        If (x Is Nothing) Then Return 1
        If (y Is Nothing) Then Return -1

        Dim x1 As ListItem = DirectCast(x, ListItem)
        Dim y1 As ListItem = DirectCast(y, ListItem)

        'Return String.CompareOrdinal(x1.Text, y1.Text)
        Return String.Compare(x1.Text, y1.Text)

    End Function
End Class
dopo di che utilizzi il metodo Adapter di ArrayList
codice:
ArrayList.Adapter(Me.ListBox1.Items).Sort(New CompareByText)
e non dirmi che usi c# e che non capisci il Basic