Все, что я хочу, это обновить текст ListViewItem без видимых мерцаний.
Это мой код для обновления (называемый несколько раз):
listView.BeginUpdate();
listViewItem.SubItems[0].Text = state.ToString(); // update the state
listViewItem.SubItems[1].Text = progress.ToString(); // update the progress
listView.EndUpdate();
Я видел некоторые решения, которые включают переопределение компонента WndProc():
protected override void WndProc(ref Message m)
{
if (m.Msg == (int)WM.WM_ERASEBKGND)
{
m.Msg = (int)IntPtr.Zero;
}
base.WndProc(ref m);
}
Говорят, что это решает проблему, но в моем случае это не. Я считаю, что это потому, что я использую значки для каждого элемента.