Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для mozgotron
64 / 73 / 1
Регистрация: 23.05.2015
Сообщений: 360
Записей в блоге: 52

Логика выделения значений в ListBox при их удалении

14.12.2019, 23:51. Показов 1174. Ответов 3

Студворк — интернет-сервис помощи студентам
Посмотрите, пожалуйста. Правильно ли я осуществляю проверку аргументов и условий перед выделением остающихся в Листбоксе записей в Private Sub Button1_Click. В этом Листбоксе можно удалять значения с любой позиции, хоть с первой, хоть с пятой, хоть с последней.

VB.NET
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
Public Class Form1
 
    Dim IndSel As Integer 'индекс выделенной записи
    Dim ItemsCount As Integer 'количество записей
 
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
 
        If ListBox1.Items.Count > 0 Then ListBox1.SelectedIndex = 0 'автоматически выделяем первую запись
 
    End Sub
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        IndSel = ListBox1.SelectedIndex 'запоминаем индекс выделенной записи
        ListBox1.Items.RemoveAt(IndSel) 'удаляем выделенную запись по её индексу
 
        'В связи с изменением списка проверяем аргументы и условия:
 
        ItemsCount = ListBox1.Items.Count 'Считаем количество записей в списке
        If ItemsCount < 1 Then 'Если список опустел,
            Button1.Enabled = False 'блокируем кнопку.
        Else 'Если в списке есть хотя бы одна запись,
            If IndSel < ItemsCount Then 'Если индекс < количества,
                ListBox1.SelectedIndex = IndSel 'выделяем запись с этим индексом.
            ElseIf IndSel = ItemsCount Then 'Если индекс = количеству,
                ListBox1.SelectedIndex = ItemsCount - 1 'выделяем запись, ставшую последней.
            End If
        End If
 
    End Sub
 
End Class
Скриншот формы


ZIP-архив с EXE-файлом (если кто-то захочет посмотреть на логику в действии)
Листбокс с уменьшением записей.zip
Adler32: 2BEAAB2E
CRC32: 49B365EB
MD5: 7CAA9A8462FDBF2AE7D7301B6379384C
SHA-1: C0E75F75E8BFFDAE7F72D428D3D4B7B6C70B2BD5
SHA-256: 37E71339347D9752C7B8A1E77CF5FE8BD8C7A060 6AC1ECC45BDFCBBFC558F595
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2019, 23:51
Ответы с готовыми решениями:

Возникает ли событие в Listbox при добавлении или удалении элемента
Привет! Ребят, есть ли у Listbox событие, когда добавляется или удаляется item? Просмотрел доступные события в студии, но на первый...

Изменение выделения при удалении из ListBox
Подскажите, пожалуйста, как изменить данный код, чтобы когда удаляешь нижнюю строчку в listbox, выделение переходило на предпоследнюю...

Удалить данные из XML при удалении из ListBox
Здравствуйте, я начинающий программист, вообще-то это моё хобби и вот не задача хотелось бы сделать программу которая работает как база...

3
 Аватар для mozgotron
64 / 73 / 1
Регистрация: 23.05.2015
Сообщений: 360
Записей в блоге: 52
15.12.2019, 00:10  [ТС]
P.S.:
После удаления записи, автоматически должна выделяться запись, которая встала на место удалённой.
Если после удалённой записи других нет, то автоматически должна выделяться запись, предшествующая удалённой.
Если в списке вообще не осталось записей, то автоматическое выделение должно прекратиться.
0
Лень — мое второе и
 Аватар для Orlangur
3228 / 2416 / 687
Регистрация: 28.11.2014
Сообщений: 3,601
Записей в блоге: 3
15.12.2019, 00:25
mozgotron, так проблема то в чем?
0
 Аватар для mozgotron
64 / 73 / 1
Регистрация: 23.05.2015
Сообщений: 360
Записей в блоге: 52
15.12.2019, 15:28  [ТС]
Orlangur1991, хорошо, я понял. Буду использовать этот код в своём "Распредвале".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2019, 15:28
Помогаю со студенческими работами здесь

Создание правильной нумерации строк в ListBox при удалении одной из них
Здравствуйте, форумчане :( Столкнулся с такой проблемой: Допустим есть у меня ListBox. При создании каждой новой строки ей присваивается...

ListBox проверка выделения
Ребята срочно помогите пожалуйста, голова уже не варит и найти ничего не могу. Как в ListBox реализовать проверку на if selected .. Если...

Проверка выделения listbox
Здравствуйте, как проверить каждую строку в listbox на выделение? Если я правильно понимаю, так я могу выбрать элемент по его индексу, но...

Цвет выделения записи ListBox
Подскажите, как сделать цвет выделенной записи не синим как это по умолчанию, а своим цветом.? Искал, но не нашел ответа.

Изменить цвет выделения в ListBox
Как изменить цвет выделения в ListBox?


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru