Так выносите форматирование таблиц в отдельный цикл и передавайте туда данные нотификатором! Это первое. Второе. Если данные не всегда обновляются, то имеет смысл производить проверку, новое и старое значение ячейки совпадает? Если да, то не записывать. Это пропорционально уменьшает загрузку.Уже не первый раз замечаю медленную работу с форматированием ячеек таблиц, листбоксов из-за "поячеечной" обработки. Искал возможность "заморозить" обновление таблицы на время форматирования ячеек, не тормозя остальной интерфейс. За deferpanelupd спасибо, возьму на заметку
Ну и радикальное решение - не использовать микрософтовские компоненты. Это листбокс, трей и таблицы. В конце концов чем вам массивы строк и чисел не угодили?