So che sono passati un pò di giorni, spero possa esserti utile comunque:

in C#
codice:
        private void listBox1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
                listBox1.SelectedIndex = listBox1.IndexFromPoint(e.Location);
        }
in vb.net
codice:
Private Sub listBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
    If e.Button = MouseButtons.Right Then
        listBox1.SelectedIndex = listBox1.IndexFromPoint(e.Location)
    End If
End Sub