Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> про CheckedListBox, вопросец 
:(
    Опции темы
lioness
Дата 26.9.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



А как отключить "контрольные квадратики",  чтобы пользователь пальцАми не мог переключать?

Для CheckBox есть (если не ошибаюсь) AutoCheck поставить в false и ставить галочки уже нет никакой возможности.
А для CheckedListBox не нашла такого. Вроде бы вычитала, что поставить свойство ThreeDCheckBoxes в true, но что-то не получается.

Как убрать возможность для пользователя ставить-стереть галочку у всего списка... Ну или у каждого элемента списка в CheckedListBox-е?  Мне нужно, чтобы на некотором этапе только я могла контролировать State элемента.

PM MAIL   Вверх
mr.DUDA
Дата 26.9.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 24
Всего: 232



Свойство CheckOnClick не пойдёт ?

Добавлено @ 17:00 
О, нашёл событие: ItemCheck. Подписываемся, и в обработчике всегда переносим значение CurrentValue в NewValue (если конечно состояние не программно меняется - для этого можно bool-переменную типа "bool _allowChangeState" завести). 


--------------------
user posted image
PM MAIL WWW   Вверх
lioness
Дата 26.9.2006, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



Неее!  Я тоже сразу на него подумала. Но он в "true" позволяет ставить-убирать галочки ОДНИМ щелчком. А так - два раза кликнуть.

Событие?  Может для каждого айтим свойство выставить?  Я думала типа   ->   .....ItemCheck.AutoCheck= false
И мне надо не для выбранных элементов списка, а вообще ручное щелканье в этом боксе на некотором этапе отменить.




Это сообщение отредактировал(а) lioness - 26.9.2006, 17:09
PM MAIL   Вверх
lioness
Дата 26.9.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



Ой!   А цвет текста только в ОДНОЙ строке я не могу поменять?  Как же так: я ставлю галочку и не могу цветом текста еще дополнительно обозначить выбор. Мне было именно так надо...
PM MAIL   Вверх
6atoh
Дата 26.9.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: нет
Всего: 4



Цитата(lioness @  26.9.2006,  16:11 Найти цитируемый пост)
Как убрать возможность для пользователя ставить-стереть галочку у всего списка... Ну или у каждого элемента списка в CheckedListBox-е?  Мне нужно, чтобы на некотором этапе только я могла контролировать State элемента.

checkedListBox.Enabled = false;

PM MAIL ICQ   Вверх
lioness
Дата 27.9.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



Неа !  Без Enabled весь список просто мертвый. А мне нужно точно такое же, как в простом одиночном CheckBox, отключает возможность действовать на квадратик "AutoCheck = false".  Я была бы даже согласная не на весь CheckedListBox сразу, а на каждый item по отдельности. Мне нужно три состояния у каждого элемента, как было и есть у одиночного ...Checked = CheckState. ( Checked, Indeterminate, Unchecked) .  Ничегошеньки в лист-боксе нет похожего.  

Потом такая проблема с цветом. Я собралась каждую еще и цветом выделять: зеленый, красный или "глухой" выключенный серый. А тут с каждым item-ом, кроме как собрать коллекцию selected или нет, вощщщее ничего нельзя сделать. И цвет поменять можно только на целый блок целиком. Что за беда ... smile 

Добавлено 
Так, могу управлять этими тремя состояниями в том прерыве, как mr.DUDA сказал, и не допустить посторонних пальцев к кликанью по квадратикам. А вот что с цветом делать?  Очень надо...
Может, мне графический текст аккуратненько "наклеить" на нужный мне элемент в checkedListBox?  Что-то там было насчет ItemHeight... Может, там и координаты левого верхнего угла найдутся и ширина? А? Или мне отказаться от  checkedListBox-а?

Это сообщение отредактировал(а) lioness - 27.9.2006, 11:40
PM MAIL   Вверх
lioness
Дата 27.9.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



How do I Change the Color of Individual ListBox items in .NET?

О чё нашла  smile  smile 

Но опять же никаких следов DrawItem нет в CheckedListBox  smile 

Это сообщение отредактировал(а) lioness - 27.9.2006, 13:25
PM MAIL   Вверх
mr.DUDA
Дата 27.9.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 24
Всего: 232



Можно обработать событие SelectedIndexChanged и убирать выделение принудительно.


--------------------
user posted image
PM MAIL WWW   Вверх
KAFLAN
Дата 28.9.2006, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 28.9.2006
Где: г. Москва

Репутация: нет
Всего: нет



Цитата(lioness @ 27.9.2006,  13:24)
How do I Change the Color of Individual ListBox items in .NET?

О чё нашла  smile  smile 

Но опять же никаких следов DrawItem нет в CheckedListBox  smile

Когда сталкнулся с такой же проблемой, понял что найболее быстрым в реализации и примлемым (для меня) вариантом является этот:
1. Кидаем FlowLayoutPanel устанавливаем в нём цвет фона белый, 3d границы. (эмулируя таким образом CheckListBox)
2. Динамически генерим CheckBox`ы и кидаем их в FlowLayoutPanel.

Таким образом имеем возможность пользоваться тремя привычными для нас состояниями чекбоксов и менять цвет каждого отдельного checkBox`а ;)
PM MAIL ICQ Skype MSN   Вверх
lioness
Дата 28.9.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 27.7.2006

Репутация: нет
Всего: нет



Вот о чем мечталось:
ListBox:  font and image
Т.е. я так понимаю, что графической  кррррасоты в  CheckedListBox принципиально не предусмотрено. Делаем иконку вместо боксика со всеми состояниями и рисуем перед текстом с нужным цветом.
Ухожу от CheckedListBox  к  ListBox smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.