Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648

Почему при очистке ComboBox не уменьшается количество выпадающих строк?

17.08.2016, 09:56. Показов 2414. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пусть ComboBox1 содержит 5 произвольных строк.
VB.NET
1
ComboBox1.Items.Clear()
Очистит эти строки, но количество выпадающих пустых строк останется равным пяти.
Это так и задумано, или я должен выдать какую-то дополнительную инструкцию?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.08.2016, 09:56
Ответы с готовыми решениями:

При очистке ComboBox остаются пустые элементы списка
Подскажите пожайлуста. При програмной очистке (.Clear() ) списка ComboBox (из 10 элементов) размер разворачивающегося списка остается...

Не уменьшается количество строк в стринггриде
День добрый. Есть две формы. На первой вычисляются данные и заполняется стринггрид. На второй берутся из первого стринггрида некоторые...

Почему при сохранении картинки его вес уменьшается?
Загружаю картинку(70 кб), и сохраняю с такими же размерами(ширина и высота) и он уменьшается до 40 кб. Кто знает почему так? Image img =...

13
69 / 69 / 10
Регистрация: 15.08.2012
Сообщений: 71
17.08.2016, 10:09
ни разу такого не замечал. проверил у себя. бросил на форму комбобокс, добавил 5 строк, бросил кнопку, в кнопке написал "ComboBox1.Items.Clear()". при запуске 5 строк, после тыка в кнопку - одна пустая. попробуй удалить его с формы и выложить новый.
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
17.08.2016, 10:38  [ТС]
vxsw, попробовал - результат тот же. У меня Win 8.1 Visual Studio 2010
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
17.08.2016, 10:52
а как попадают строки в бокс? надеюсь без привязки к источнику данных?

Добавлено через 26 секунд
ну перестройте проект заново.
и для теста создайте новый проект и в нем проверьте
1
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
17.08.2016, 11:08
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Я сейчас попробовал - такая же фигня, как и у ТС в новом проекте, так что перестраивать, видимо, бесполезно. ))
jkrnd, можно при очистке установить высоту выпадающего списка равной высоте одного элемента вручную.
VB.NET
1
2
           СomboBox1.Items.Clear()
           СomboBox1.DropDownHeight = СomboBox1.ItemHeight
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
17.08.2016, 12:01  [ТС]
diadiavova, спасибо. всё теперь как надо.

Добавлено через 9 минут
теперь когда в список из программы добавляешь элементы, высота выпадающего списка не увеличивается, всегда = 1 строке!
0
69 / 69 / 10
Регистрация: 15.08.2012
Сообщений: 71
17.08.2016, 12:31
VB.NET
1
2
3
4
5
6
7
8
9
10
 Private Sub ComboBox1_DropDown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
  Select Case ComboBox1.Items.Count
   Case 0
    ComboBox1.DropDownHeight = ComboBox1.ItemHeight
   Case Is > 10
    ComboBox1.DropDownHeight = ComboBox1.ItemHeight * 11
   Case Else
    ComboBox1.DropDownHeight = ComboBox1.ItemHeight * ComboBox1.Items.Count + 1
  End Select
 End Sub
2
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
17.08.2016, 12:39
vxsw, Вместо статического значения 10 лучше использовать значение свойства MaxDropDownItems
Цитата Сообщение от jkrnd Посмотреть сообщение
теперь когда в список из программы добавляешь элементы, высота выпадающего списка не увеличивается, всегда = 1 строке!
Ну так это ж искусственный способ, так что придется подправлять.
1
69 / 69 / 10
Регистрация: 15.08.2012
Сообщений: 71
17.08.2016, 12:45
Цитата Сообщение от diadiavova Посмотреть сообщение
vxsw, Вместо статического значения 10 лучше использовать значение свойства MaxDropDownItems
да, у меня там и в скобочках косяк
ну, главное чтоб суть уловил))
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
17.08.2016, 14:14  [ТС]
vxsw, постепенно нарастают побочные эффекты. Например, появление полосы прокрутки справа, даже если мы добавили в список членов меньше MaxDropDownItems. В общем, я понял, надо смириться с этим глюком разработчиков и забыть. Всем спасибо.
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
17.08.2016, 14:18
jkrnd, Скорей всего полоса прокрутки связана с тем, что элементы занимают немного больше места, чем произведение их количества на высоту. Добавь несколько пикселей про запас и, возможно, она исчезнет.
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
17.08.2016, 16:20  [ТС]
diadiavova, Вы правы.
успешно работает следующее:
VB.NET
1
2
3
4
5
6
7
8
9
10
    Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
        Select Case ComboBox1.Items.Count
            Case 0
                ComboBox1.DropDownHeight = ComboBox1.ItemHeight
            Case Is > ComboBox1.MaxDropDownItems
                ComboBox1.DropDownHeight = ComboBox1.ItemHeight * ComboBox1.MaxDropDownItems + 2
            Case Else
                ComboBox1.DropDownHeight = ComboBox1.ItemHeight * ComboBox1.Items.Count + 2
        End Select
    End Sub
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
17.08.2016, 16:30
А если после удаление строк, сделать
VB.NET
1
2
Combobox.Update
Combobox.Refresh
&
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
17.08.2016, 16:40  [ТС]
XIST, попробовал - после применения методов Update и Refresh никаких изменений нет.

Добавлено через 34 секунды
то есть остаются пустые строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2016, 16:40
Помогаю со студенческими работами здесь

И снова о связи двух выпадающих списков combobox
Господа знатоки! есть книга с прайс листом товара(важно чтобы она была как есть и не подвергалась изменениям). делаю втягивание...

Почему происходит перенос строк из-за ComboBox.Text?
Memo набивается строками программно. И как видно на сриншоте, в Мемо выглядит все нормально, но при сохранении текста Мемо в файл -...

Выбрать значения из таблицы с помощью выпадающих списков (combobox) и ВПР(VLOOKUP)
У меня опять кошмар кошмарович. Помогите люди добрые. Имеется таблица. 76 ячеек на 76. Вертикальная колонка умножена на горизонтальную....

Количество строк в Combobox
подскажите пожалуйста как сделать следующее: в combobox какое то количество строк. Когда достигается конец этого списка то выходит...

Количество строк в ComboBox
Как узнать, сколько всего строк в ComboBox? и есть ли вообще такая ф-ия? например, в похожем компоненте ComboBoxEx для этого есть ф-ия...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru