Свойство WinForms ListView.HideSelection не имеет никакого эффекта? - PullRequest
4 голосов
/ 27 сентября 2010

Я работаю над приложением, в котором представление списка используется для выбора набора данных для отображения.Когда пользователь щелкает элемент списка, основной вид обновляется данными, связанными с выбранным элементом, и элемент управления ListView теряет фокус.При потере фокуса элемент управления перестает выделять выделенный элемент, даже если я явно установил для HideSelection значение false.

Согласно MSDN : "true, если выбранный элемент не отображаетсяподсвечивается, когда элемент управления теряет фокус; false, если выбранный элемент по-прежнему отображается подсвеченным, когда элемент управления теряет фокус. По умолчанию установлено значение true. "

Это ошибка или я что-то упустил?Мы используем .NET версии 2.0.(Да, я проверил, что свойство не установлено где-либо за пределами сгенерированного дизайнером кода)


Редактировать: Очевидно, выделение было выделено , хотя и очень тонко.После просмотра списка свойств я не вижу способа изменить цвет подсветки, когда элемент управления не имеет фокуса.Есть идеи?Спасибо.

Ответы [ 2 ]

6 голосов
/ 27 сентября 2010

Вы уверены, что это не просто очень трудно увидеть? На моем экране разница белая с "действительно очень бледно-серым" - очень тонкая. Более очевидно, если вы измените цвет фона ListView во время исследования (также попробуйте уменьшить яркость VDU).

показано ниже; «def» фактически выбрано.

No, really it is

3 голосов
/ 27 сентября 2010

Некоторые ЖК-мониторы действительно имеют проблемы с отображением серого цвета, достаточно отличительного.Это системная настройка и влияет на все программы, вы не можете изменить ее только для своих собственных.Учитывая, что это действительно проблема с вашим монитором, есть небольшая причина не просто исправить его, изменив цвет системы.

Используйте Панель управления + Дисплей.На Win7 нажмите Персонализация, Цвет окна, Расширенные настройки внешнего вида.Выберите «Отключенный элемент» в диалоговом окне.

...