|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
||||||
Удалить с flowLayoutPanel19.12.2023, 19:40. Показов 2665. Ответов 26
Метки нет (Все метки)
Подскажите как удалить с flowLayoutPanel элементы не с конца...
По нажатию на кнопку на flowLayoutPanel добавляется вот такая строка с компонентами включая кнопку с крестиком, которая по моей задумке должна удалить именно эту строчку. Удалить последнюю строчку получается, но вот как сделать чтоб удалялась нужная строка?
0
|
||||||
| 19.12.2023, 19:40 | |
|
Ответы с готовыми решениями:
26
FlowLayoutPanel
FlowLayoutPanel - авторазмер |
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
|
|
| 19.12.2023, 21:00 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
||||||
| 20.12.2023, 11:15 [ТС] | ||||||
|
Uswer, ваш совет работает, но что-то я не догоняю его до конца. Добавляю несколько строк, и получаю такую работу:
1. Удаление нижней строки всегда дает исключение "Индекс вне допустимого диапазона". 2. Если первой удалить предпоследнюю строку(удаляется без исключений), то остальные (кроме нижней) удаляются без проблем. 3. Если сначала удалить любую строку кроме двух нижних, то эти нижние выдают то же исключение. Видимо или я туплю с индексами или flowLayoutPanel при удалении с себя компонентов перезадает индексы оставшимся. И что-то я пока не врубаюсь в схему))
0
|
||||||
| 20.12.2023, 11:48 | ||
Сообщение было отмечено Diom как решение
Решение2. Если удаляются какие-то элементы из flowLayoutPanel, то индексы всех других (особенно тех, что идут после удалённого) надо корректировать. При вставке элементов тоже самое. Короче проще сделать по п.1.
1
|
||
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
|
| 20.12.2023, 11:55 [ТС] | |
|
Uswer, понял. Спасибо.
0
|
|
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
|
||
| 20.12.2023, 13:47 | ||
|
1
|
||
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
|
| 20.12.2023, 14:17 [ТС] | |
|
I can, Спасибо. Только что сам такое же почти воспроизвел) Действительно хорошая штука. Для меня новое открытие. Но уже понимаю как облегчить себе задачу.
Добавлено через 22 минуты I can, И еще вопрос возник. Я смотрел урок и там у автора элемент UserControl появился в панели элементов, при этом он ничего не делал для этого. У меня так не происходит. Что сделать?
0
|
|
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
|
||
| 20.12.2023, 14:27 | ||
|
А потом перетащить элемент на форму, так же, например, как кнопку.
1
|
||
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
||||||
| 20.12.2023, 19:10 [ТС] | ||||||
|
I can, Все, появился. Сразу почему-то не появился. Спасибо.
Добавлено через 4 часа 39 минут Подскажите еще, нормальная ли это реализация изъятия информации из компонентов на UserControl, или есть более грамотный способ?
0
|
||||||
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
|
| 20.12.2023, 19:23 [ТС] | |
|
Rius, Я и с ним потом попробую. Я не работу работаю, учусь. Так что мне не принципиально.
0
|
|
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,820
|
|
| 20.12.2023, 19:32 | |
|
0
|
|
| 20.12.2023, 19:48 | ||
|
Пример от I can в WindowsFormsApplication1.rar тоже не очень. Студию заводить лень, поэтому словами: должно быть типа того - у UserControl-а должно быть свойство или конструктор (это если использовать DI) принимающее объект, свойства этого элемента отображаются во внутренних элементах управления UserControl-а. Любые изменения значений внутри UserControl влияют на объект, всякие проверки и валидации, всё это должно быть имплементировано в UserControl. Управление самими UserControl-ми должно производится извне, т.е. создание, помещение в контейнеры или коллекции, удаление и т.п. Чтобы UserControl мог нормально взаимодействовать с внешним кодом он должен информировать его путём генерации событий. Ну, а код извне должен обрабатывать эти события. Не по теме: Если будет время, то может набросаю примерчик, но не обещаю. Мож кто-то опередит!
0
|
||
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
|
| 20.12.2023, 20:03 [ТС] | |
|
Uswer, т.е. если я правильно понял, нужно объект идентичный моему cvetok создавать для каждого нового юзерКонтрола прям внутри него, и организовать его изменение в зависимости от изменений элементов ЮзерКонтрола, а потом каким-то образом вытаскивать его? Если так, то изначально я так пытался, но у меня не получилось наладить зависимость объекта от изменений, т.е. я всегда получал объект с полями по умолчанию и он не менялся никак.
0
|
|
|
2 / 2 / 0
Регистрация: 08.01.2023
Сообщений: 90
|
|
| 22.12.2023, 13:23 [ТС] | |
|
Uswer, а можете объяснить каким образом обновляются данные в buketList если меняются значения цены?
Если у меня не просто массив из пары цветков, а база с множеством видов и сортов (например розы - 20 сортов, тюльпаны - 15 сортов и хризантем 5 сортов), которая периодически меняется, мне получается нужно создать из этой базы список из 40 объектов класса "Цветок" и каждый передать в юзер контрол чтоб заполнить выпадающий список комбобоксов?? Добавлено через 57 минут Нет, так не работает. В комбобокс появляется только одна позиция.
0
|
|
| 23.12.2023, 12:50 | |||||||
|
Diom, в представленном примере каждому UserControl соответствует экземпляр класса buket, изменения значений, например цены, происходят через механизм привязки данных:
Добавлено через 1 минуту У меня в примере создан класс Buket, а, как я понял, для вашей задачи скорее нужен класс Flower. Но это никак не меняет сам подход, просто код станет более читаемым под задачу.
0
|
|||||||
| 23.12.2023, 12:50 | |
|
Помогаю со студенческими работами здесь
20
Авто-размер у FlowLayoutPanel Работа со списком в FlowLayoutPanel FlowLayoutPanel выбрасывает win32exception Не могу разобраться с flowLayoutPanel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|