¿Cómo evitar el parpadeo en ListView al actualizar un solo texto de ListViewItem?

Todo lo que quiero es actualizar el texto de ListViewItem sin ver ningún parpadeo.

Este es mi código para actualizar (llamado varias veces):

listView.BeginUpdate();
listViewItem.SubItems[0].Text = state.ToString();    // update the state
listViewItem.SubItems[1].Text = progress.ToString(); // update the progress
listView.EndUpdate();

He visto algunas soluciones que implican anular la @ del componenWndProc():

protected override void WndProc(ref Message m)
{
    if (m.Msg == (int)WM.WM_ERASEBKGND)
    {
        m.Msg = (int)IntPtr.Zero;
    }
    base.WndProc(ref m);
}

icen que resuelve el problema, pero en mi caso no lo hiz. Creo que esto se debe a que estoy usando íconos en cada elemento.

Respuestas a la pregunta(20)

Su respuesta a la pregunta