Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20

Запись в файл текста из динамически созданных текст-боксов

20.05.2012, 16:25. Показов 1727. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста новичку в winForms.

В comboBox'e имеется коллекция (2,3,4,5) при выборе значения , например 2, создаётся 2 textBox'a. Вопрос собственно в том, как построчно записать в файл информацию из этих textBox'ов на кнопку (в моём случае на button1)

C++
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
private: System::Void comboBox2_SelectedIndexChanged(System::Object^  sender, System::EventArgs^  e) 
         {
             int anInteger1 = System::Convert::ToInt32(comboBox2->Text);   //Перевод строки в численное значение
                 for(int i=0; i<anInteger1; i++)
                 {
                     TextBox^ l= (TextBox^)this->Controls["TextBox"+i.ToString()];
                     l=(gcnew System::Windows::Forms::TextBox());
                     l->Location = System::Drawing::Point(492, 260+i*25);
                     l->Size = System::Drawing::Size(400, 20);
                     this->Controls->Add(l);
 
 
                     CheckBox^ j= (CheckBox^)this->Controls["checkBox"+i.ToString()];  //Массив texBox'ов
                     j=(gcnew System::Windows::Forms::CheckBox());
                     j->Location = System::Drawing::Point(472, 260+i*25);
                     j->Visible = true;
                     j->UseVisualStyleBackColor = true;
                     this->Controls->Add(j);
 
                 }
         }
 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             String^ fileName = "textfile.txt";
             StreamWriter^ sw = gcnew StreamWriter(fileName);
             sw->WriteLine(textBox1->Text);
             sw->WriteLine(textBox2->Text);
             sw->WriteLine(textBox3->Text);
             sw->WriteLine(comboBox3->Text);
             sw->Close();
 
         }
Добавлено через 3 часа 47 минут
Помогите пожалуйста, очень нужно. Ну или хотя бы приведите пример как можно это по другому сделать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2012, 16:25
Ответы с готовыми решениями:

Запись динамически созданных объектов в файл
Всем привет. Хочу спросить, пока не наделал глупостей. Есть два класса. //первый класс, родитель class someObj { ...

Запись информации в файл из динамически созданных TextBox
У меня возникла проблема, как реализовать возможность записывать в файл(формат txt) Текст из динамических TextBox. Я пробовал через массив ...

Получить текст из массива динамически созданных элементов на форме
Здравствуйте! Я создал массив вьюх, которые заполняю элементами, и затем отображаих на форме. Часть этих элементов я заполнил текстом....

2
17 / 17 / 4
Регистрация: 18.05.2011
Сообщений: 83
21.05.2012, 14:41
Ну во первых, динамически создавать элементы управления, такие как TextBox это на мой взгляд как-то не правельно. Исходя из кода, я бы использовал ListBox. Но если у тебя это учебный проект, и это задание на лабораторную работу...
Честно сказать не совсем понятно что у тебя там делается. В обработчике комбобокса ты пытаешся получить от родительской формы адрес по наименованию текстбокса, после чего ты тутже в эту ссылочную переменную создаеш новый текстбокс и инициализируеш его. После чего аттачиш его к форме. Что касается обработчика кнопки, то если ты дизайнером не создал 3 текстбокса и 1 комбобокс у тебя там должны посыпаться ошибки компиляции.
Кароч на вскидку вот что попробуй. ВО первых, при динамическом создании текстбоксов инициализируй поле Text, чтобы было что писать в файл.
Во вторых при записи обращайся к классу Controls твоей формы как в случае с динамическим созданием текстбоксов, что то вроде этого:
C++
1
2
3
4
5
int anInteger1 = System::Convert::ToInt32("TextBox"+i.ToString());  
for(int i=0; i<anInteger1; i++)
{
    sw->WriteLine(((TextBox^)this->Controls["TextBox"+i.ToString()])->Text);
}
Ито не факт что не повалятся исключения.

Но вапще я те советую не иди от родителя. Создай список текстбоксов и делай чтото вроде этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//как параметр формы
List<TextBox^>^ TBList;
//в конструкторе формы
TBList = gcnew List<TextBox^>();
//гдето в обработчике комбобокса
int anInteger1 = System::Convert::ToInt32("TextBox"+i.ToString());  
for(int i=0; i<anInteger1; i++)
{
    TextBox^ l = gcnew System::Windows::Forms::TextBox();
    l->Location = System::Drawing::Point(492, 260+i*25);
    l->Size = System::Drawing::Size(400, 20);
    l->Parent = this;
    l->Text = "text"+i.ToString();
    TBList->Add(l);
}
//гдето в обработчике кнопки
int anInteger1 = System::Convert::ToInt32("TextBox"+i.ToString());  
for(int i=0; i<anInteger1; i++)
{
    sw->WriteLine(TBList[i]->Text);
}
Что то вроде того, честно сказать как работать будет не знаю на вскидку написал, но по идее должно.
1
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 20
21.05.2012, 23:40  [ТС]
Спасибо, буду пробовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2012, 23:40
Помогаю со студенческими работами здесь

Как считать введённый текст из динамически созданных TextBox?
MDI-приложение. Создаётся отдельная форма &quot;Добавление книги&quot;, на ней создаются програмно textBox'ы. так же программно создаётся кнопка....

Ряд динамически созданных MaskedTextBox сохранять в файл/открывать из файла
Помогите разобраться с SaveFileDialog. Вот наворотил : private void saveToolStripMenuItem_Click(object sender, EventArgs e) ...

Дан файл 4.тхт, содержащий текст. Необходимо удалить из данного текста все пробелы. Сохранить преобразованный текст в файл
Дан файл 4.txt, содержащий текст. Необходимо удалить из данного текста все пробелы. Сохранить преобразованный текст в файл

Запись текста в файл, чтение текста из файла, перепись текста из одного файла в другой файл
Составить программу, в которой организованы следующие действия: запись текста в файл, чтение текста из файла, перепись текста из...

Заполнение текст боксов
Доброго времени суток! Есть 2 таблици.1 company(id_company, name) id_company, | name 1 | company1 ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru