ListView control не отображает айтемы, но они на самомом дел
От: GdotHdot  
Дата: 20.07.06 17:42
Оценка:
Вот такая странная до ужаса ситуация.
У меня при загрузке программы отображаются в сабжевом контроле айтемы — всё ОК.
Потом, когда нажимается кнопочка "Update", кое-что качается в новом потоке с инета, и обновляется контрол, очищение контрола и добавление новых айтемов через Invoke, как и положенно.
Но тут такая штуа странная происходит — айтемы в контрол добавляются (кстати, добавляю не ItemListView, а переписанный ExItemListView, но поле base.text он устанавливает в конструкторе). Так вот, добвлюя всё как положенно, — в контроле даже появляется линейка прокрутки(!), но самих айтемов не видно!!! Как будто сделал шрифт белым и на белом фоне не виден текст... более того, меняется даже выделение! и когда дебагером я просматриваю что там происходит — все поля ListView стоят как нужно... т.е. полу Text во всех айтемах не пусто, всё нормально, но не отображается!

У кого какие мысли? а то что-то из ряда вон выходящий тупизм у меня с этой проблемой...
спасибо большое.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: ListView control не отображает айтемы, но они на самомом
От: Dmitry V. Romanovich Беларусь  
Дата: 21.07.06 08:30
Оценка:
Здравствуйте, GdotHdot, Вы писали:

GH>Вот такая странная до ужаса ситуация.

GH>У меня при загрузке программы отображаются в сабжевом контроле айтемы — всё ОК.
GH>Потом, когда нажимается кнопочка "Update", кое-что качается в новом потоке с инета, и обновляется контрол, очищение контрола и добавление новых айтемов через Invoke, как и положенно.
GH>Но тут такая штуа странная происходит — айтемы в контрол добавляются (кстати, добавляю не ItemListView, а переписанный ExItemListView, но поле base.text он устанавливает в конструкторе). Так вот, добвлюя всё как положенно, — в контроле даже появляется линейка прокрутки(!), но самих айтемов не видно!!! Как будто сделал шрифт белым и на белом фоне не виден текст... более того, меняется даже выделение! и когда дебагером я просматриваю что там происходит — все поля ListView стоят как нужно... т.е. полу Text во всех айтемах не пусто, всё нормально, но не отображается!

GH>У кого какие мысли? а то что-то из ряда вон выходящий тупизм у меня с этой проблемой...

GH>спасибо большое.

Проект, воспроизводящий проблему в студию.
Re: ListView control не отображает айтемы, но они на самомом
От: anton_t Россия  
Дата: 24.07.06 04:58
Оценка:
Здравствуйте, GdotHdot, Вы писали:

GH>Вот такая странная до ужаса ситуация.

GH>У меня при загрузке программы отображаются в сабжевом контроле айтемы — всё ОК.
GH>Потом, когда нажимается кнопочка "Update", кое-что качается в новом потоке с инета, и обновляется контрол, очищение контрола и добавление новых айтемов через Invoke, как и положенно.
GH>Но тут такая штуа странная происходит — айтемы в контрол добавляются (кстати, добавляю не ItemListView, а переписанный ExItemListView, но поле base.text он устанавливает в конструкторе). Так вот, добвлюя всё как положенно, — в контроле даже появляется линейка прокрутки(!), но самих айтемов не видно!!! Как будто сделал шрифт белым и на белом фоне не виден текст... более того, меняется даже выделение! и когда дебагером я просматриваю что там происходит — все поля ListView стоят как нужно... т.е. полу Text во всех айтемах не пусто, всё нормально, но не отображается!

GH>У кого какие мысли? а то что-то из ряда вон выходящий тупизм у меня с этой проблемой...

GH>спасибо большое.

А базовый конструктор в конструкторе ExItemListView вызываешь?
ListView control не отображает айтемы, но они на самомом дел
От: Аноним  
Дата: 20.07.06 20:30
Оценка:
Try .Refresh or .BeginUpdate and .EndUpdate methods.

From VS 2005 help:
"The BeginUpdate and EndUpdate methods allow you to improve performance when you add many items to a ListView by preventing the control from repainting each time an item is added."

If this doesn't work try DoEvents.

Regards,
Greg


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
ListView control не отображает айтемы, но они на самомом дел
От: Аноним  
Дата: 20.07.06 20:30
Оценка:
Try .Refresh or .BeginUpdate and .EndUpdate methods.

From VS 2005 help:
"The BeginUpdate and EndUpdate methods allow you to improve performance when you add many items to a ListView by preventing the control from repainting each time an item is added."

If this doesn't work try DoEvents.

Regards,
Greg


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: ListView control не отображает айтемы, но они на самомом
От: Аноним  
Дата: 21.07.06 14:36
Оценка:
У меня такое было с TreeView (скорее всего неправильно передаешь данные обратно в UI) — смотри какую классную штуку придумал Varq:
http://www.gotdotnet.ru/Downloads/Examples/221595.aspx


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.