Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/47: Рейтинг темы: голосов - 47, средняя оценка - 4.89
monster

Выпадающий список с сheckbox'ами

30.03.2012, 02:46. Показов 8939. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я новичок в программировании. Пишу программу в Visual Studio 2008 на C#. Подскажите мне, пожалуйста, как создать выпадающий список с checkbox'ами в нём? Это должно быть что-то похожее на CheckedListBox, только выпадать. Просто элементов там будет очень много, а со скроллингом, как в CheckedListBox, неудобно пролистывать ИМХО.
Желательно сразу с объяснением как получить данные о всех checked элементах.
Заранее спасибо!
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2012, 02:46
Ответы с готовыми решениями:

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

Выпадающий список
Доброго времени суток! Столкнулся с проблемой и не могу её решить: есть combobox, таблица в БД SQL; нужно сделать так, чтобы по мере набора...

Access выпадающий список
Здравствуйте господа программисты! Помогите чайнику пожалуйста! Есть таблица Склад (наименование, количество, цена), таблица Приход...

3
2 / 2 / 1
Регистрация: 17.11.2013
Сообщений: 72
22.01.2014, 20:33
компонент называется combobox) извини больше ничего сказать не могу
0
Заблокирован
22.01.2014, 20:46
Цитата Сообщение от monster Посмотреть сообщение
Это должно быть что-то похожее на CheckedListBox, только выпадать. Просто элементов там будет очень много, а со скроллингом, как в CheckedListBox, неудобно пролистывать ИМХО.
Если элементов там будет очень много, то чем вам поможет выпадающий список?
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
23.01.2014, 04:47
monster, даже в яндекс отправлять не надо, поиск по форуму дает нужный код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
public partial class CheckComboBox : ComboBox
    {
        /// <summary>
        /// C'tor
        /// </summary>
        public CheckComboBox()
        {
            this.DrawMode = DrawMode.OwnerDrawFixed;
            this.DrawItem += new DrawItemEventHandler(CheckComboBox_DrawItem);
            this.SelectedIndexChanged += new EventHandler( CheckComboBox_SelectedIndexChanged );
            SelectedText = "Select Options";
        }
 
        /// <summary>
        /// Invoked when the selected index is changed on the dropdown.  This sets the check state
        /// of the CheckComboBoxItem and fires the public event CheckStateChanged using the 
        /// CheckComboBoxItem as the event sender.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CheckComboBox_SelectedIndexChanged( object sender, EventArgs e )
        {
            CheckComboBoxItem item = (CheckComboBoxItem)SelectedItem;
            item.CheckState = !item.CheckState;
            if (CheckStateChanged != null)
                CheckStateChanged(item, e);
        }
 
        /// <summary>
        /// Invoked when the ComboBox has to render the drop-down items.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CheckComboBox_DrawItem( object sender, DrawItemEventArgs e )
        {
            // make sure the index is valid (sanity check)
            if( e.Index == -1 )
            {
                return;
            }
 
            // test the item to see if its a CheckComboBoxItem
            if( !( Items[ e.Index ] is CheckComboBoxItem ) )
            {
                // it's not, so just render it as a default string
                e.Graphics.DrawString(
                    Items[ e.Index ].ToString(),
                    this.Font,
                    Brushes.Black,
                    new Point( e.Bounds.X, e.Bounds.Y ) );
                return;
            }
 
            // get the CheckComboBoxItem from the collection
            CheckComboBoxItem box = (CheckComboBoxItem)Items[ e.Index ];
 
            // render it
            CheckBoxRenderer.RenderMatchingApplicationState = true;
            CheckBoxRenderer.DrawCheckBox(
                e.Graphics,
                new Point( e.Bounds.X, e.Bounds.Y ),
                e.Bounds,
                box.Text,
                this.Font,
                ( e.State & DrawItemState.Focus ) == 0,
                box.CheckState ? CheckBoxState.CheckedNormal : CheckBoxState.UncheckedNormal );
        }
 
        /// <summary>
        /// Fired when the user clicks a check box item in the drop-down list
        /// </summary>
        public event EventHandler CheckStateChanged;
 
    }
код взят здесь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2014, 04:47
Помогаю со студенческими работами здесь

Выпадающий список в ComboBox
Всем привет! Подскажите пл. как решить следующую проблему: Имеются две таблицы: 1. ID - int, Фамилия - char, Имя - int, Отчест -...

Выпадающий список с чекбокосом
Добрый день, Может кто подсказать как сделать выпадающий список с чекбоксами в заголовке датагридвью? искал в гугле, нашел отдельно от...

Выпадающий список ComboBox
Добрый вечер, реализую такой вид подсказок в Винформе. Возник вопрос, когда подсказка &quot;подсказывает со словом&quot; она выбрасывает...

Выпадающий список в ячейках DataGridView
Здравствуйте. Можно ли сделать чтобы в DataGridView при нажатии на ячейку выпадал список значений и ввод происходил посредством выбора...

Подскажите контрол - выпадающий список
Вообщем создаю программку, которая по сворачиванию уходит в трей, по нажатию левой кнопкой возвращается....Это я реализовал, но при нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru