Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
1

Получение текста с динамически созданного textBox

07.08.2014, 06:49. Показов 2759. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Использую такой цикл для генерации textBox имхо у меня много таких, вручную как-то не очень + обработка на них.
C#
1
2
3
4
for (int i = 0; i < value1; i++)
            {
                this.Controls.Add(new TextBox() { Name = i.ToString(), Location = new Point(33, 210 + (i * 26)), Text = "Индивидуальный предприниматель ", Size = new System.Drawing.Size(630, 20) });
            }
Так же в обработке стоит кнопка, то есть я на нее нажал, то мне нужно получить текст введенный в сгенерированный textBox.
Как мне получить его???
В обычных случая (когда вручную), я получал таким образом:
C#
1
textBox.Text;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2014, 06:49
Ответы с готовыми решениями:

Получить текст из динамически созданного TextBox
Доброго дня форумчане! Не могу получить введенный текст в динамически созданного TextBox ...

Сравнение текста введенного в Textbox по name. При этом Textbox создан динамически
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Сравнение значений динамически заданных textBox, и отображение текста в многострочном Textbox
Часть первая. Дано: динамически создаваемые TextBox'ы TextBox tb = new TextBox; for (int i=0...

Как из метода созданного класса вызывать методы WindowsForms (наприме вывод текста в TextBox)
Помогите пожалуйста! Я изучаю С# и надеюсь на вашу помощь... В общем создаю класс в методах этого...

11
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,333
Записей в блоге: 2
07.08.2014, 08:20 2
Esecman, если точно известно имя этого текстбокса, то можно так.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += (s, e) =>
                {
                    TextBox tbx = (TextBox)(from t in this.Controls.OfType<TextBox>() where t.Name == "textBox1" select t).First();
                    string str = tbx.Text;
                    MessageBox.Show(str);
                };
        }
    }
}
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.08.2014, 08:48  [ТС] 3
insite2012, Спасибо! Клева!
C#
1
2
3
4
5
6
7
for (int i = 0; i < value1; i++)
            {
                this.Controls.Add(new TextBox() { Name = i.ToString(), Location = new Point(33, 210 + (i * 26)), Text = "Индивидуальный предприниматель ", Size = new System.Drawing.Size(630, 20) });
                TextBox tbx = (TextBox)(from t in this.Controls.OfType<TextBox>() where t.Name == i.ToString() select t).First();
                str = tbx.Text;
                MessageBox.Show(str);
            }
str объявлена в самом начале.
мне нужно так:
Чтобы если даже я вышел из цикла, то все равно показывало n раз строк, а не один раз.
Такое возможно?

Добавлено через 10 минут
и как можно вывести только 1 раз (к примеру из 4) в цикле переменную str?
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,333
Записей в блоге: 2
07.08.2014, 09:00 4
Esecman, мне не совсем точно ясна ваша задача. Если надо сформировать текстиз всех значений текстбоксов цикла, суммируйте строку, после окончания цикла выводите.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.08.2014, 09:02  [ТС] 5
insite2012, проще говоря, мне нужно записыть данные в строку или массив так, чтоб я мог работать за циклом (вывести в данном случае)
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,333
Записей в блоге: 2
07.08.2014, 09:05 6
Esecman, так определите до цикла нужную переменную и в нее в цикле пишите все что надо. А дальше используйте по назначению.
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.08.2014, 09:12  [ТС] 7
Если я Вас правильно понял, то:
Раньше как то делал это на плюсах, уже не помню :|
Так вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void button1_Click(object sender, EventArgs e)
        {
            this.button1.Visible = false;
 
            string str = string.Empty;
 
            for (int i = 0; i < value1; i++)
            {
                this.Controls.Add(new TextBox() { Name = i.ToString(), Location = new Point(33, 210 + (i * 26)), Text = "Индивидуальный предприниматель ", Size = new System.Drawing.Size(630, 20) });
                TextBox tbx = (TextBox)(from t in this.Controls.OfType<TextBox>() where t.Name == i.ToString() select t).First();
                str = tbx.Text;
            }
 
            MessageBox.Show(str);
}
Выводит один раз, должно было 4
0
49 / 49 / 12
Регистрация: 18.01.2013
Сообщений: 169
07.08.2014, 09:19 8
C#
1
str += tbx.Text;
1
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.08.2014, 09:25  [ТС] 9
Slicker, мне нужно организовать массив из строк
То есть попрошу вывести в виде такого:
str[0] - выведет 1 строку, возможно?
Очень буду благодарен
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,333
Записей в блоге: 2
07.08.2014, 09:26 10
Esecman, вам поможет List<string>() и его метод Add().
0
39 / 27 / 12
Регистрация: 31.12.2013
Сообщений: 329
07.08.2014, 09:33  [ТС] 11
можно пример?
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,333
Записей в блоге: 2
07.08.2014, 09:36 12
Цитата Сообщение от Esecman Посмотреть сообщение
можно пример?
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        List<string> list = new List<string>();
        public Form1()
        {
            InitializeComponent();
            button1.Click += (s, e) =>
                {
                    for (int i = 0; i < 10; i++)
                    {
                        list.Add(i.ToString());
                    }
                };
        }
    }
}
0
07.08.2014, 09:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2014, 09:36
Помогаю со студенческими работами здесь

Получение текста из TextBox в потоке
Здравствуйте! Работаю с xNet, возникла проблема. Нужно получить информацию из combobox1 + textbox1...

Удаление динамически созданного контрола
Создаю новый label... переменная I2-это количество созданных контролов,также используется для...

Сохранение динамически созданного контролла
Как это можно осуществить и вообще возможно ли?

Удаление динамически созданного контрола
Здравствуйте уважаемые форумчани. Проблема в следующем, динамически создаю контролы, вот таким...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru