Neanche così sembra andare, non si smuove da quel che ho come risultato.
Quindi mi par di capire di avere un qualche comportamento anomalo.

Sperando possiate darmi una mano vi posto prima le proprietà della mia listview impostate da form.
E poi il codice in cui la listview è interessata.
Ho messo le dichiarazioni, il load del form che la contiene e la funzione che la popola (volevo cancellare il superfluo, ma a questo punto cerchiamo di capire cos'è che non va come dovrebbe).

Proprietà della listview1:
http://imageshack.us/photo/my-images...magineacm.png/


codice:
Dim Errorgroup As New ListViewGroup("Errori")
Dim Rightgroup As New ListViewGroup("Conversioni riuscite")
Dim Othergroup As New ListViewGroup("Altri")
'Dichiarazioni gruppi

Public Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        popola()
end sub

Private Sub popola()
ListView1.TileSize = New Size(560, 15)

If My.Computer.FileSystem.FileExists(Application.StartupPath & "\Error Message.txt") Then
            If My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\Error Message.txt").Length.ToString = 0 Then
                My.Computer.FileSystem.DeleteFile(Application.StartupPath & "\Error Message.txt")
                popola()
            End If

            Dim index As Integer = -1
            Dim sr As New IO.StreamReader(Application.StartupPath & "\Error Message.txt")
            While Not sr.EndOfStream
                Dim temp As String = sr.ReadLine
                If InStr(temp, "Errore") Then
                    index = index + 1
                    Dim itemp As New ListViewItem With {.Name = "itemp" & index}
                    itemp.ForeColor = Color.Red
                    itemp.ToolTipText = "Doppio Click per aprire il percorso del file"
                    itemp.Text = temp
                    itemp.Group = Errorgroup
                    ListView1.Items.Add(itemp)
                ElseIf InStr(temp, "Conversione riuscita!") Then
                    index = index + 1
                    Dim itemp As New ListViewItem With {.Name = "itemp" & index}
                    itemp.ForeColor = Color.Green
                    itemp.ToolTipText = "Doppio Click per aprire il percorso del file"
                    itemp.Text = temp
                    itemp.Group = Rightgroup
                    ListView1.Items.Add(itemp)
                Else
                    index = index + 1
                    Dim itemp As New ListViewItem With {.Name = "itemp" & index}
                    itemp.ForeColor = Color.Black
                    itemp.ToolTipText = "Doppio Click per aprire il percorso del file"
                    itemp.Text = temp
                    itemp.Group = Othergroup
                    ListView1.Items.Add(itemp)
                End If

            End While
            sr.Close()
            sr.Dispose()
            Dim div As New ListViewItem With {.Name = "itemp" & index}
            div.ForeColor = Color.Blue
            div.ToolTipText = "Esecuzione successiva"
            Dim a As String = "_"
            For i As Integer = 0 To 300
                a = a + "_"
            Next
            div.Text = a
            ListView1.Items.Add(div)
        Else
            Dim empty As New ListViewItem With {.Name = "Empty"}
            empty.Text = "Non ci sono log di errori al momento."
            ListView1.Items.Add(empty)
        End If


end sub


Spero di riuscire a risolvere, grazie per la pazienza!

@ShaleN
Non hai un link a una guida per i controlli personalizzati? cercavo in rete ma nulla di interessante. Grazie