![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
А как отключить "контрольные квадратики", чтобы пользователь пальцАми не мог переключать?
Для CheckBox есть (если не ошибаюсь) AutoCheck поставить в false и ставить галочки уже нет никакой возможности. А для CheckedListBox не нашла такого. Вроде бы вычитала, что поставить свойство ThreeDCheckBoxes в true, но что-то не получается. Как убрать возможность для пользователя ставить-стереть галочку у всего списка... Ну или у каждого элемента списка в CheckedListBox-е? Мне нужно, чтобы на некотором этапе только я могла контролировать State элемента. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Свойство CheckOnClick не пойдёт ?
Добавлено @ 17:00 О, нашёл событие: ItemCheck. Подписываемся, и в обработчике всегда переносим значение CurrentValue в NewValue (если конечно состояние не программно меняется - для этого можно bool-переменную типа "bool _allowChangeState" завести). -------------------- ![]() |
|||
|
||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Неее! Я тоже сразу на него подумала. Но он в "true" позволяет ставить-убирать галочки ОДНИМ щелчком. А так - два раза кликнуть.
Событие? Может для каждого айтим свойство выставить? Я думала типа -> .....ItemCheck.AutoCheck= false И мне надо не для выбранных элементов списка, а вообще ручное щелканье в этом боксе на некотором этапе отменить. Это сообщение отредактировал(а) lioness - 26.9.2006, 17:09 |
|||
|
||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Ой! А цвет текста только в ОДНОЙ строке я не могу поменять? Как же так: я ставлю галочку и не могу цветом текста еще дополнительно обозначить выбор. Мне было именно так надо...
|
|||
|
||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: нет Всего: 4 |
||||
|
||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Неа ! Без Enabled весь список просто мертвый. А мне нужно точно такое же, как в простом одиночном CheckBox, отключает возможность действовать на квадратик "AutoCheck = false". Я была бы даже согласная не на весь CheckedListBox сразу, а на каждый item по отдельности. Мне нужно три состояния у каждого элемента, как было и есть у одиночного ...Checked = CheckState. ( Checked, Indeterminate, Unchecked) . Ничегошеньки в лист-боксе нет похожего.
Потом такая проблема с цветом. Я собралась каждую еще и цветом выделять: зеленый, красный или "глухой" выключенный серый. А тут с каждым item-ом, кроме как собрать коллекцию selected или нет, вощщщее ничего нельзя сделать. И цвет поменять можно только на целый блок целиком. Что за беда ... Добавлено Так, могу управлять этими тремя состояниями в том прерыве, как mr.DUDA сказал, и не допустить посторонних пальцев к кликанью по квадратикам. А вот что с цветом делать? Очень надо... Может, мне графический текст аккуратненько "наклеить" на нужный мне элемент в checkedListBox? Что-то там было насчет ItemHeight... Может, там и координаты левого верхнего угла найдутся и ширина? А? Или мне отказаться от checkedListBox-а? Это сообщение отредактировал(а) lioness - 27.9.2006, 11:40 |
|||
|
||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
How do I Change the Color of Individual ListBox items in .NET?
О чё нашла Но опять же никаких следов DrawItem нет в CheckedListBox Это сообщение отредактировал(а) lioness - 27.9.2006, 13:25 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Можно обработать событие SelectedIndexChanged и убирать выделение принудительно.
-------------------- ![]() |
|||
|
||||
| KAFLAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 28.9.2006 Где: г. Москва Репутация: нет Всего: нет |
Когда сталкнулся с такой же проблемой, понял что найболее быстрым в реализации и примлемым (для меня) вариантом является этот: 1. Кидаем FlowLayoutPanel устанавливаем в нём цвет фона белый, 3d границы. (эмулируя таким образом CheckListBox) 2. Динамически генерим CheckBox`ы и кидаем их в FlowLayoutPanel. Таким образом имеем возможность пользоваться тремя привычными для нас состояниями чекбоксов и менять цвет каждого отдельного checkBox`а ;) |
|||
|
||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Вот о чем мечталось:
ListBox: font and image Т.е. я так понимаю, что графической кррррасоты в CheckedListBox принципиально не предусмотрено. Делаем иконку вместо боксика со всеми состояниями и рисуем перед текстом с нужным цветом. Ухожу от CheckedListBox к ListBox |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |