Buenas compañero,
Imagino que estarás trabajando en entorno web no? Si es así, debes utilizar un elemento <asp:GridView>, aquí te dejo un ejemplo:
https://csaspnetgridview.codeplex.com/
Si le pones a los campos que devuelva la consulta unos nombres estilo "Domicilio", podrías dejar que se generasen de forma automática.
Si es en entorno escritorio, bien puedes hacerlo con un ListBox como indicas, pero la clase a mostrar en el ListBox, debería tener una
propiedad que devuelva un string con el formato que desees... Y si enlazas un DataSet, el nombre de un campo, como hago en este ejemplo:
Código vb.net:
Ver originalDim ds As DataSet
ds = ConexionBD.obtenerDatasetFromSql("SELECT Id, Descripcion FROM MiTabla")
Me.lstConceptos.DataSource = ds.Tables(0)
Me.lstConceptos.DisplayMember = "Descripcion"
Si en escritorio, lo que deseas es que salgan cada una de las columnas pudiendo ordenar por ellas, deberías usar un DataGridView.
Un saludo!
PD: Cualquier cosa... Postea!