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

Заполнить таблицу из 20 textbox- ов

16.02.2014, 19:15. Показов 1942. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 20 текстбоксов (textbox1, textbox2...). Первые 10 это имена. Вторые 10 это возраст. Можно ли их как то заполнить, не делая это индивидуально для каждого текстбокса. Если да как будет выглядеть этот цикл?
Должно выглядеть приблизительно так:

Иванов 18
Петров 22
Сидоров 24
...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2014, 19:15
Ответы с готовыми решениями:

Заполнить ряд TextBox в цикле
Есть 10 элементов TextBox с однообразными названиями (TextBox1, TextBox2 и т.д.) Есть коллекция из 10 значений типа string Можно ли...

Заполнить массив элементами из textbox?
Добрый вечер! не могу разобраться долгое время, как же заполнять одномерный массив через textbox??? нужно написать программа в которую в...

Из textbox заполнить массив int
Подскажите пожалуйста как из значений введённых в textbox1 (цифр 1 и 0) заполнить массив указателей на тип int. При выводе массива...

11
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
16.02.2014, 19:39
Создаете массив объектов класса человека. На форме располагаете контроллы, даете им имена такого вида
tname_0, tname_1, tname_2, tname_3 - для полей имен. И
tage_0, tage_1, tage_2, tage_3 - для полей возрастов. И создаете цикл, который будет получать объект человека из массива, и заполнять контроллы информацией. Получить контрол достаточно просто: есть коллекция this.Controls, просто пишете так
C#
1
this.Controls["tname_" + i]; // где i - это индексатор цикл
Дальше сами
2
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 68
16.02.2014, 21:45  [ТС]
Спасибо за ответ. А по другому никак нельзя. Мы просто controls еще не изучали
0
16.02.2014, 21:49

Не по теме:

Скажите, что сами изучили :)

0
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 68
16.02.2014, 21:59  [ТС]
Непонятно как в цикле перкходить по текстбоксам
0
Заблокирован
16.02.2014, 22:15
Например:
C#
1
2
3
string[] t = { "Иванов", "Петров", "Сидоров", "Мельников" };
                for (int i = 1; i < 5; i++)
                    Controls["textBox" + i].Text = t[i-1];
0
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 68
16.02.2014, 22:27  [ТС]
Можно controls чем то заменить? Какой есть альтернативный вариант?
0
Заблокирован
16.02.2014, 23:25
незнаю, а почему вам контролс не подходит?
0
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 68
16.02.2014, 23:42  [ТС]
Мы просто этот элемент не изучали. Поэтому меня не поймут
0
-7 / 3 / 0
Регистрация: 28.02.2012
Сообщений: 106
17.02.2014, 00:28
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
private void Form4_Load(object sender, EventArgs e)
        {
 
            tb = new TextBox[18];
 
            for (int i = 0; i < tb.Length; i++)
            {
                if (i == 0 | i == 1 | i == 2)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(200 + i * 100, 116);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(75, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    // tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
                if (i == 3 | i == 4 | i == 5)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(-100 + i * 100, 173);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(75, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    //tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
                if (i == 6 | i == 7 | i == 8)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(-400 + i * 100, 230);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(75, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    //tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
                if (i == 9 | i == 10 | i == 11)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(-650 + i * 100, 95);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(25, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    //tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
 
                if (i == 12 | i == 13 | i == 14)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(-950 + i * 100, 150);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(25, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    //tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
 
                if (i == 15 | i == 16 | i == 17)
                {
                    tb[i] = new TextBox();
                    tb[i].Location = new System.Drawing.Point(-1250 + i * 100, 210);
                    tb[i].Name = "textBox" + i.ToString();
                    tb[i].Size = new System.Drawing.Size(25, 23);
                    tb[i].TabIndex = i;
                    tb[i].ForeColor = Color.White;
                    tb[i].BackColor = Color.Black;
                    //tb[i].Text = "textBox" + i.ToString();
                    this.Controls.Add(tb[i]);
                }
 
            }
как пример, а после public partial class Form4 : Form, пишешь TextBox[] tb;
здесь уже сам задаешь значение i , ввод фамилий у тебя получится первый цикл от 0 до 10, а второй 10 до 20, это при вводе
1
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 68
17.02.2014, 17:58  [ТС]
Хорошо, а еще вопрос, а если все таки с controls сделать,
можно ли сделать это через цикл foreach?

Добавлено через 27 минут
C#
1
2
3
4
5
foreach (Control element in this.Controls) 
                {
                    if (element.GetType() == typeof(TextBox))
                        element.Text = binaerDatei.ReadString();
                }
Так пробую, выдает ошибку System.IO.EndOfStreamException: Чтение после конца потока невозможно.
в System.IO.BinaryReader.ReadString()
0
Заблокирован
18.02.2014, 08:19
Можно сделать и через форыч
C#
1
2
3
4
5
                foreach (Control element in this.Controls)
                {
                    if (element.GetType() == typeof(TextBox))
                        element.Text = element.Name;
                }
ваша ошибка скрыта в
C#
1
binaerDatei.ReadString();
суть ошибки, собственно говоря написана.
Попробуйте заключить в блок
C#
1
2
3
4
5
6
7
8
9
10
11
12
            try
            {
                foreach (Control element in this.Controls)
                {
                    if (element.GetType() == typeof(TextBox))
                        element.Text = binaerDatei.ReadString();
                }
            }
            catch
            {
                MessageBox.Show("=(");
            }
и посмотреть на каком этапе это происходит
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2014, 08:19
Помогаю со студенческими работами здесь

заполнить TextBox`ы значением переменной
Делаю программу для тестирования. Сам я &quot;программист&quot; самоучка, программирование далеко от моей специальности. у меня есть текстовый...

Как заполнить TextBox из dataGridView
Доброго времени суток))Помогите заполнить TextBox из dataGridView...Очень срочно!!!

Заполнить массив вводом из textBox
Привет, мучаюсь с формами - не могу понять как написать аналогичное этому коду в формах консоль: char vir; cin&gt;&gt;vir; ...

Заполнить textBox случайными числами
Подскажите, как можно заполнить textBox случайными числами?

Прочитать xml и заполнить textbox
Есть файлик xml : &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;Requests&gt; &lt;Request Id=&quot;30.07.2013&quot;&gt; &lt;FIRMS&gt; &lt;Shipper...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
[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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru