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

Удаление элементов из listbox без сдвига индексов

27.03.2018, 11:07. Показов 2600. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реально ли сделать? Все, что я пробовал (через RemoveAt) сдвигает индексы после удаления.
То есть после удаления элемента с нулевым индексом, listbox.items должен начинаться с 1, а не присваивать первому нулевой индекс.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2018, 11:07
Ответы с готовыми решениями:

ListBox. Удаление объекта со сдвигом индексов всех элементов массива и самих строчек
Доброго времени суток. Спасибо всем, кто откликается на мои "не умные вопросы" =) Ибо понять меня иногда бывает тяжело - знаю. ...

Удаление элементов массива кратных своим порядковым номерам и удаление их путем сдвига вперед
Ребята, всем привет. Дистанционная практика (связи с короновирусом) дает о себе знать. Ответ на вопрос заданный учителю приходиться ждать...

Как удалить элемент массива без сдвига остальных элементов?
Делаю курсач.В задании есть вот такое предложение:"Для того чтобы найти элемент в массиве,можно применить бинарный поиск.Элемент не...

6
Эксперт .NET
 Аватар для Usaga
14130 / 9350 / 1350
Регистрация: 21.01.2016
Сообщений: 35,148
27.03.2018, 12:40
Цитата Сообщение от egrozavr Посмотреть сообщение
listbox.items должен начинаться с 1, а не присваивать первому нулевой индекс.
Шта?
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
27.03.2018, 13:54
Цитата Сообщение от egrozavr Посмотреть сообщение
Реально ли сделать
конечно реально, пишите свой список с индексацией с единицы. Вопрос только на сколько это целесобразное решение, пока выглядит абсурдом.
0
2 / 2 / 0
Регистрация: 21.01.2014
Сообщений: 57
28.03.2018, 13:23  [ТС]
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
пишите свой список с индексацией с единицы
Вот это я и не понял как сделать. В самом элементе смотреть?

Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
Вопрос только на сколько это целесобразное решение, пока выглядит абсурдом.
Мне тоже кажется это немного неправильным, но по другому не знаю как сделать. Дело в том, в зависимости от выбора в листбоксе выполняется та или иная программа. А под нулевым индексом не заложено ничего (то есть никакая из программ не будет выполняться). Стоит по умолчанию. Я пробовал присваивать не ноль, а -1, но так не работает почему-то.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int listbox_index = Convert.ToInt32(Data_ListBox.Value);
 
                if (listbox_index == 0)
                {
                    Label2.Text = " ";
                }
 
                if (listbox_index == 1)
                {
                    prog1;
                }
                if (listbox_index == 2)
                {
                    prog2;
                }
                if (listbox_index == 3)
                {
                    prog3;
                }
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
28.03.2018, 13:30
ну так и не делайте ничего, в чём проблема то?

p.s. я надеюсь код приведённый Вами не реальный а пример только, ибо меня настораживают метки prog1/2/3.

p.s.s. писать свой список это полностью реализовать в своём классе нужные интерфейсы и методы для индексации.
0
2 / 2 / 0
Регистрация: 21.01.2014
Сообщений: 57
28.03.2018, 13:54  [ТС]
Это пример конечно). Опишу поконкретнее в чем проблема: у меня есть листбокс, в котором есть список программ.
Они по умолчанию индексируются начиная с нуля. То есть listviewitem1 это prog1, listviewitem2 это prog2 и т.д.
В другой форме в зависимости от выбора программы в листбоксе рисуется нужное изображение. Если ничего не выбрать в листбоксе, то изображение не должно появиться вообще. Но получается так, что даже если я ничего не выбирал в листбоксе, все равно выводится изображение для первой программы. Все потому, что значение listBox1.SelectedIndex равно 0 по умолчанию (совпадает с индексом первой программы). Чтобы это изменить, я решил начинать индексацию программ начиная с 1, а ноль оставить пустым. Но тогда остается пустая строка, которую я и хочу убрать из списка.
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
28.03.2018, 16:04
Лучший ответ Сообщение было отмечено egrozavr как решение

Решение

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

Определить сумму квадратов индексов элементов массива, делящихся на три без остатка
Ввести одномерный массив A из 14 элементов. Определить сумму квадратов индексов элементов делящихся на три без остатка.

Удаление элементов из ListBox-а
добавление элементов в лист бокс все получается а вот удаление, ни как ни выходит удалает через одного вот код <html> ...

Удаление элементов из ListBox
На форме есть listBox1 и listBox2 Элементы которые находятся в listBox2 это (черный список) Элементы которые в listBox1 это нормальный...

Добавление и удаление элементов из ListBox
Хочу сделать процедуру добавления и удаления елементов в листбокс при нажатии кнопик, но у меня выскакивает такая ошибка. Как ее исправить?...

Удаление элементов в TreeView и ListBox
привет всем! такая проблема: делаю помощника в котором TrееView и ListBox. файлы (не папки) заносимые и сохраненные в TreeView...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru