Отсутствует Событие На Членах Коллекции Listview.items

Тема в разделе "C/C++/C#", создана пользователем forem0st, 6 июл 2012.

  1. forem0st

    forem0st New Member

    Регистрация:
    9 янв 2011
    Сообщения:
    1
    Симпатии:
    0
    Я программист сильно начинающий, но уже несколько книжек прочел :). Сначала ковырялся в VisualBasic теперь в C#.
    Проблема встала такая: в программке , которая представляет собой нечто вроде проводника и несколько расширяет его стандартные функции, вывод списка файлов и папок реализован с помощью ListView. Хочется сделать красивую(и очень удобную) фишечку, когда при прохождении курсора по одному из айтемсов ListView он (ListVieweItem) менял бы цвет (как в проводнике Windows 7). Неожиданно столкнулся с проблемой отсутствия события MouseMove для члена коллекции ListView.Items а это событие очень бы подошло для данной функции. Есть событие MouseHover и оно все прекрасно делает так как мне хочется даже без дополнительного кода, НО с задержкой, которая мне не нужна, время задержки я тоже поменять не могу.
    Событие MouseMove есть у самого ListView и можно вычислять координаты положения курсора, а потом по высоте заголовка и высоте строки и положению родительского окна находить - какой айтимс подсвечивать. Но во-первых мне кажется это не оптимальное решение, а во вторых я не знаю как получить координаты именно родительского контейнера, а не всей формы и предвижу в связи с этим проблемы связанные с появлением полосы прокрутки при достаточно большом списке папок и файлов.
    Подскажите - как наиболее грамотно решить мой вопрос?
     
Загрузка...

Поделиться этой страницей