Есть стандартный ListView работающий в вирт. режиме. В него выводятся очень много айтемов содержащие иконку 48x48 и текст. Все картинки заносятся в ImageList. Но... метод imageList. Images[i].AddImage(path); очень медленно работает. Например загрузка четырёх тысяч картинок с винта в List<Image> — занимает пару секунд, а в ImageList — под сорок секунд... Да и вообще это серьёзное ограничение ListView не возможность напрямую присваивать айтемам картинки. Вопрос: Как можно обойти ограничение с картинками? может можно как-то в обход .Net .. Или кто-то приведёт пример CustomDraw корректно работающим в вирт режиме. Заранее благодарен за ответ!
Здравствуйте, MxKazan, Вы писали:
MK>Здравствуйте, DENISIUS_R, Вы писали:
DEN>>Anybody is here?....
MK>А какая проблема в реализации события DrawItem для виртуального режима?
Да уже так и сделал

скорость с двадцати секунд на заполнение ImageList упала до 2-х секунд на загрузку картинок в List<Image>... Я вообще не понимаю почему такой тормознутый этот ImageList...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MxKazan, Вы писали:
MK>>Здравствуйте, DENISIUS_R, Вы писали:
DEN>>>Anybody is here?....
MK>>А какая проблема в реализации события DrawItem для виртуального режима?
А>Да уже так и сделал
скорость с двадцати секунд на заполнение ImageList упала до 2-х секунд на загрузку картинок в List<Image>... Я вообще не понимаю почему такой тормознутый этот ImageList...
Для чего их все сразу грузить? Не проще ли по мере необходимости?
ImageList такой тормозной возможно потому, что ему приходится:
1) Разбивать один битмэп на несколько.
2) Заботится о прозрачности битмэпа.
3) Маршалить из managed в unmanaged (!).
Не исключено также, что если ImageList уже присвоен ListView, то при добавлении каждой картинки, он вызывает перерисовку ListView.