|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
||||||
Как достать текст из динамически созданного текстбокса06.09.2019, 14:16. Показов 3034. Ответов 11
Метки нет (Все метки)
Здравствуйте, уважаемые посетители форума. не так давно стал писать на VB.NET и сталкнулся с рядом проблем. Помогите пожалуйста!
В коде создаю GroupBox, в нем создаю textBox и label. Подразумевается около 10 таких groupbox'ов в каждом часть текста, написанного или вставленного пользователем. GroupBox нужен только для визализации размеров рабочей зоны, в Label нужно бы писать порядок-номер поля(об этом чуть ниже) 1. не получается изъять текст из текстового поля. Кликаю по полю, получаю Имя . а обратиться не нему не могу, вылезает ошибка: System.NullReferenceException: "В экземпляре объекта не задана ссылка на объект 2. Порядок поля(Groupbox'ов): Я сделал что группы можно перетаскивать мышкой, это нужно чтобы можно было менять текст местами. Но не могу понять как отследить какой GroupBox выше, а какой ниже, того которые перемещается... Это скорее всего из-за того что не могу определить индекс активного объекта, чтобы через For определять координаты и менять в переменной порядок полей... 3. Как получить текст из всех созданных TextBox'ов! Это наверное самое главное, все облазил, находил только примеры с созданными в редакторе объектами.. 4. Подскажите как у Label поменять размер шрифта? создаю объекты так: Кликните здесь для просмотра всего текста
0
|
||||||
| 06.09.2019, 14:16 | |
|
Ответы с готовыми решениями:
11
Достать массив из динамически созданного адаптера)
Изменить текст label, созданного динамически |
|
Лень — мое второе и
|
|||||||||||||||||||||
| 06.09.2019, 16:08 | |||||||||||||||||||||
Сообщение было отмечено rlirpoxb как решение
Решение
rlirpoxb,
1) например так
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
|
| 06.09.2019, 16:15 [ТС] | |
|
Спастибо Вам огромное!!
Осталось разобраться со вторым пунктом)) но думаю за пару вечеров я его победю)
0
|
|
| 06.09.2019, 16:24 | ||||||
Сообщение было отмечено rlirpoxb как решение
Решение
Смотрите, у Вас переменная gp хранит ссылку только на последний созданный GroupBox, поэтому что либо "изъять" у Вас получится только из этого контрола, а Вы пытаетесь в строке 89 оперировать им как TextBox-ом. И то это если эта переменная более нигде не переназначается. Вам надо перебирая все контролы формы найти нужный, либо объявить коллекцию GroupBox-ов и работать с ней, либо получать ссылку на контрол другим способом.
Кроме того в строке 88, а конкретнее здесь Dim cont As Control = CType(sender, Control), Вы получите ссылку на кнопку Button4. Там же переменная Label1 не содержит объекта. Рекомендация: не пишите листинг нескольких директив VB в одну строку, хорошим тоном считается размещать их построчно. Создайте коллекцию GroupBox-ов
Добавлено через 2 минуты Не по теме: много букав писал и запоздал с ответом
2
|
||||||
|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
|
| 06.09.2019, 16:55 [ТС] | |
|
Спасибо и Вам за разъяснения, я научусь, писать правильно)))
0
|
|
|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
|
| 06.09.2019, 17:59 [ТС] | |
|
На подобии как перемещение музыкальных треков в вк. https://dropmefiles.com/pTTAZ
С самого начала "Блоки" стоят в порядке gb_1, gb_2, gb_3, gb_4... Пользователь их перемещает, вверх и вниз. порядок изменяется скажем на gb_3, gb_2, gb_1, gb_4... И передать текст из TextBox те которые tx_1,tx_2,tx_3... мне нужно в новом порядке тоесть tx_3,tx_2,tx_1,... Я пока сейчас в поисках решения этой задачи, по идее, нужно создать массив и при создании GroupBox'ов нужно записывать их НОМЕРА в массив. а при перемещении Блоков, перебирать порядок и записывать в массив новые данные. и нумирацию этого порядка отображать в Label каждого GroupBox'a (типа того что ниже). Но я пока не могу узнать как определить какой GroupBox находиться выше или ниже остальных... (
0
|
|
|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
||||||
| 06.09.2019, 19:48 [ТС] | ||||||
|
В общем ищу как сделать эффект как в вк, перемещения и прилипания блоков на новое место, и смещение всех остальных блоков..
![]() Добавлено через 1 час 44 минуты Что то я не то делаю?.. Пытаюсь выставить Индекс (порядок) блоков, цикл по координатам Y. При создании запомнил координату по Y у последнего GroupBox она равна y_Max gp_index - просто индекс от 0, после выхода из цикла становиться равен 0 по моей идее, цикл перебирает от нуля до конечной top и находит GroupBox и присваивает ему индекс от 0 до количества блоков... ОЙ я поннял, нужно определить какой GroupBox он нашел в этих координатах!)) А как это сделать? Помогите!
0
|
||||||
|
Лень — мое второе и
|
|
| 06.09.2019, 20:49 | |
|
rlirpoxb, особо не разбирался в коде, но набросал такую штуку, тут при нажатии на Button6 вы получите в listbox список всех groupbox на форме, отсортированных по координате Y в формате "Имя - координата Y", возможно, это то, что нужно
1
|
|
| 07.09.2019, 00:23 | ||||||
|
Попробуй реализовать примерно такое. Напиши процедуру, которая будет перемещать GroupBox на указанное расстояние.
Например такую Sub MoveGrBox(Byval MovedGroupBox As GroupBox, Byval distance As Integer), где MovedGroupBox - перемещаемый гр.бокс, а distance - величина смещения. Затем в событии перемещения GroupBox-а мышкой (твой Control1_MouseMove) определяй наехал ли ты на другой GroupBox используя GetChildAtPoint метод. Если наехал, то автоматом получишь GroupBox, который передашь методу смешения MoveGrBox и величину смещения равную размеру того GroupBox-а, который ты тащишь мышкой. В методе смещения MoveGrBox можно реализовать эффект скольжения GroupBox-а для красявости ![]() Остаётся только решить задачку с направлением смещения в плюс или минус. Добавлено через 2 часа 49 минут На скоряк накидал. Тренировался на панелях, ты переделай для GroupBox. Кликните здесь для просмотра всего текста
1
|
||||||
| 07.09.2019, 09:47 | ||||||
|
Чуть улучшил с эффектом скольжения.
На форме должен быть Timer1 Кликните здесь для просмотра всего текста
1
|
||||||
|
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 20
|
|
| 09.09.2019, 08:59 [ТС] | |
|
Ребята! Спастбо Вам большущее!
Посмотрите как здорово выглядит! https://dropmefiles.com/Xv0sa Пока без скольжения сделал, т.к по моей вине, с применением скольжения, цифры перестают работать, и планки скользят на разную длинну, гдето я накосячил, и нужно поправить и привязать блоки к жестким координатам по вертикали, чуть по позже выложу результат)) А на отдельноф форме с таймером, группы бегают очень класно! Спасибо еще раз за плавное смещение!)) буду делать дальше!))
0
|
|
| 09.09.2019, 08:59 | |
|
Помогаю со студенческими работами здесь
12
Считать текст из динамически созданного TextBox Возвратить текст динамически созданного контрола Получить текст из динамически созданного TextBox
Вывод результатов из динамически созданного текст бокса в другом месте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|