При частом изменении текста в subitemах контрола ListView, работающего в режиме report, наблюдается мерцание контрола, подобное тому, которое можно наблюдать, когда по телевизору показывают телевизор. То есть примерно два раза в минуту по ListView снизу вверх пробегает волна мерцания, причём она не зависит от частоты обновления текста.
Главное окно программы содержит панель с графиками и ListView, в котором отображаются значения по мере того, как юзер на мыше ездит по графику.
Я подозреваю, что это может как-то быть связано с частотой экрана и с частотой обработки прерываний мыши где-то внутри, но я не знаю, что можно с этим сделать. Мб задержку какую..
Существуют ли какие-нибудь практические подходы к решению данного вопроса?(когда я лет 10 назад делал это на MFC, такой проблемы вообще не возникало..
)
Мышь обрабатываю в добавленном к основному (не перегруженном) обработчике,
и в нём же вызываю функцию изменения текста в subitemах, которая делает это следующим образом:
if(m_Graph.m_Lines!=null)
{
if (m_Graph.m_Lines[0].m_LVI != null)
m_Graph.m_Lines[0].m_LVI.SubItems[1].Text = m_Srz[si].Pgr_Str();
if (m_Graph.m_Lines[1].m_LVI != null)
m_Graph.m_Lines[1].m_LVI.SubItems[1].Text = m_Srz[si].Ptm_Str();
if (m_Graph.m_Lines[2].m_LVI != null)
m_Graph.m_Lines[2].m_LVI.SubItems[1].Text = m_Srz[si].Ptc_Str();
if (m_Graph.m_Lines[3].m_LVI != null)
m_Graph.m_Lines[3].m_LVI.SubItems[1].Text = m_Srz[si].Pur_Str();
// итд
}