| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Опция выбора в CheckedListBox |
| Автор: CYBERDREAM 16.1.2007, 02:28 |
| Привет Народ! Есть вопрос, хотя может и глупый, но ответа никак не могу, без вас не обойтись. Хочу сделать так, чтобы можно было только одну галочку поставить, А по умолчанию можно хоть весь список выделить, что меня не устроивает. Думал SelectionMode виновен, но там стоит "One". Есть идеи? |
| Автор: ivashkanet 16.1.2007, 08:55 |
| Для одиночного выбора придуманы РадиоБаттоны (RadioButton). Чем тебе они не нравятся? |
| Автор: ivashkanet 16.1.2007, 09:35 | ||
| Не заметил, что это CheckedListBox Идея только влоб: Наследоваться от CheckedListBox и перекрыть OnItemCheck метод. В нем, прежде чем изменять чекбокс, убираем все отмеченные итемы. Вот что я наклепал:
uncheckingMode (режим снятия "птичек") нужен для того, чтобы при снятии птички не вызывался метод OnItemCheck в котором опять вызывался UncheckAll и поехали по кругу Закоментированный код не нужен, хотя, на первый взгляд, необходим. |
| Автор: CYBERDREAM 16.1.2007, 11:22 |
| Извиняюсь за посредственные знания, не сталкивался прежде. Как сделать наследование? |
| Автор: ivashkanet 16.1.2007, 11:38 | ||
| CYBERDREAM, тебе нужно будет: 1) В меню (наверху) выбрать Project --> AddClass. 2) Откроется диалог, дашь етому классу имя SingleCheckedListBox 3) Откроется страница с кодом. Код:
Полностью заменишь на мой (1:1, кроме коментариев) 4) Скомпилируешь проект 5) В дизайнере форм на вкладке Toolbox появится подвкладка "<Твой проект> components" появится новый контрол, его можно ложить на форму |
| Автор: CYBERDREAM 16.1.2007, 11:56 |
| Все работает. Огромное спасибо. ivashkanet спасибо за полное изложение! |
| Автор: ivashkanet 16.1.2007, 12:04 |
| CYBERDREAM, всегд рад Заходи еще |