Tienes varias formas de hacerlo.
1.- Si lo estás llenando con un dataset puedes darle el sorting que necesitas.. ejemplo:
ds.Tables[0].DefaultView.Sort = "campo DESC";
2.- Puedes barrer los elementos de tu listbox y guardarlos en un arraylist aplicarle el sorte y regresarle a tu objeto ese array sorteado..
ejemplo:
Cita: ArrayList array1 = New ArrayList ()
int i = 0;
for (i = 0;i<listbox1.Items.Count;i++)
array1.Add(listbox1.Items(i).Text);
array1.Sort()
listbox1.Items.Clear()
for (i=array1.Count-1;i<0;i--)
listbox1.Items.Add(array1(i))
3.- Hacer uso de la implementacion IComparer
Ejemplo:
http://www.experts-exchange.com/Prog..._21151194.html
Salu2