Es muy fácil... de entrada se supone que tienes activada el valor 'details' en la propiedad view, yo suelo usar conjunto con esta propiedad la de 'gridlines=true' claro que depende de lo que vayas a mostrar....
El orden específico las columnas hay que hacerlo desde el diseño como te indico a continuación:
Vas al diseño en las propiedades del listview vas a COLUMNS allí pulsas en collection se te abre las propiedades avanzadas de collection, a la izquierda verás las columnas enumeradas ( a la derecha las propiedades de la columna actual), bién pués justo a la derecha de las columnas y pegado a ellas hay dos botones para cambiar el orden de las columnas. entonces seleccionas la columna 1 y le das click abajo , ahora ya está en la posición 2, los checkbox aparecen en la columna 2.
Recuerda que con la propiedad:
allowcolumnreorder=true le das la posibilidad al usuario de ordenarlas a su gusto. Esto lo puedes controlar con el evento 'ColumnReordered(sender,e)' para investigar cualquier situaciónque precisaras, como denegar un orden en concreto y regresarlo a su posición... con algo como:
Dim Vpos, Npos As Integer
Vpos = e.OldDisplayIndex
Npos = e.NewDisplayIndex
obtienes la POSición que ocupaba una columna (la Vieja) y la Nueva
y con
dim col as System.Windows.Forms.ColumnHeader=e.header
obtienes la COLumna que está seindo cambiada de sitio.
Saludos.