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

Динамически создать/удалить textbox в зависимости от состояния checkbox

27.05.2012, 21:54. Показов 2248. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Столкнулся с проблемой и не получается никак решить её.

На Form1 у меня есть 6 checkbox`ов. Хочу сделать так, что когда ставлю флажок напротив одного из checkbox, то тут же рядом с ним появляется textbox. А когда флажок убираю, то созданный textbox удалятеся и больше не виден на форме.
Соответственно если ставлю 5 флажков, то появляется 5 textbox`ов. И так далее.

Пробовал 2 способами, но оба они только создают textbox, но не удаляют его.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private: System::Void ChangePubKcheck_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
 
System::Windows::Forms::TextBox^  ChangePubKtext;
             switch (ChangePubKcheck->CheckState)
             {
             case CheckState::Checked:
                 {
                  ChangePubKtext = gcnew System::Windows::Forms::TextBox();
                  ChangePubKtext->Location = System::Drawing::Point(423, 170);
                  ChangePubKtext->Name = L"ChangePubKText";
                  ChangePubKtext->Size = System::Drawing::Size(274, 20);
                  Controls->Add(ChangePubKtext);
                  break;
                 }
             case CheckState::Unchecked:
                 {
                    
                     Controls->Remove(ChangePubKtext);
                     break;
                 }
             }
и другой способ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private: System::Void ChangeScheck_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
 
             System::Windows::Forms::TextBox ^ ChangeSText;
             if (ChangeScheck->Checked == true)
             {
 
                 ChangeSText = gcnew System::Windows::Forms::TextBox; // создаем контрол
                 ChangeSText->Location = System::Drawing::Point(423, 214);
                 ChangeSText->Name = L"ChangeSText";
                 ChangeSText->Size = System::Drawing::Size(274, 20);
                 Controls->Add(ChangeSText);
 
                 
             }
             else if (ChangeScheck->Checked == false)
             {
                  Controls->Remove(ChangeSText);
             }
             
         }
Буду благодарен за помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2012, 21:54
Ответы с готовыми решениями:

Блокирование ввода textbox в зависимости от состояния CheckBox
Всем доброе время! Есть datagridview из которого считывается значение первого столбца выделенной строки в переменную k, которая сразу же...

Запись в TextBox информации в зависимости от состояния CheckBox
Создать в форме флажок (CheckBox), кнопку, и два окна вывода. При нажатии на кнопку, при установленном флажке, в первом окне вывода...

Видимость объекта в зависимости от состояния CheckBox
Как сделать чтобы при отмеченном флажке Visible ставился на True, а на снятом флажке на False

4
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
27.05.2012, 21:59
а что за мега код если текстбоксы тебе как воздух нужны создай их на форме сразу
по умолчанию сделай их Visible false а при check uncheck меняй на противоположный

кстати можно текстбоксы и чекбоксы сделать массивами тогда часть события определяющее
какой текстбокс показать а какой скрыть будет "одной" строкой в зависимости от sender
0
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 4
27.05.2012, 22:07  [ТС]
Спасибо, попробую изменять видимость - не подумал сначала об этом (

А можно пример с массивами? Не очень понимаю как это всё сделать
0
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
27.05.2012, 22:10
а ошибка у тебя в том что каждый раз при возникновении события ты создаешь новый экземпляр текстбокса
C++
1
2
System::Windows::Forms::TextBox^  ChangePubKtext;
System::Windows::Forms::TextBox ^ ChangeSText;
даешь параметры добавил
а при удалении создаешь и пытаешься удалить этот новый ни в каком контроле не живущий ChangeSText или ChangePubKtext
естественно его там нет.
Надо найти тот что нужно удалить.

Попробуй как я подсказал))) Удалять то надо знать что)))
0
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 4
27.05.2012, 22:14  [ТС]
Мм, спасибо.
Когда
C++
1
System::Windows::Forms::TextBox^ ChangePubKtext
и т.д. были внутри, т.е. было
C++
1
System::Windows::Forms::TextBox ^ ChangePubKText = gcnew
и т.д., то компилятор ругался на
C++
1
Controls->Remove(ChangePubKText)
, мол это не объявленный идентификатор.

А с видимостью работает хорошо, спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2012, 22:14
Помогаю со студенческими работами здесь

Видимость компонентов в зависимости от состояния CheckBox
Здравствуйте, ув. форумчане! У меня один нелепый вопрос с каким я не могу разобраться вот у меня есть такой код private void...

Активность таймера в зависимости от состояния CheckBox
У меня есть CheckBox и Timer, как сделать так: стоит галочка таймер включен, не стоит выключен

Выполнение условия в зависимости от состояния CheckBox
Мужики нужна помощь, нужна помощь любая(идеи, предложения) Проблема такого рода: у меня есть форма с текст боксами одним рич боксом и...

Доступ к столбцам DataGridView в зависимости от состояния CheckBox
Здравствуйте, у меня есть DataGridView в нем 1-й столбец это чекбоксы, остальное заполняется из БД, дабы пользователь мог изменять значения...

Неверный вывод суммы значений в зависимости от состояния CheckBox
Доброе время суток! Форумчане, подскажите почему в лейбл19 постоянно выводит вариант суммы чисел, когда а из else, в независимости от того,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка 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 и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru