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

Динамически создать TextBox. Значение, введенное в TextBox, присвоить переменной

13.11.2016, 11:24. Показов 4506. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В WindowsForm создал кнопку(buttom1) и поле ввода(textbox1).
1.Как присвоить например переменной х то что я введу в поле?
моя попытка:
C#
1
int x = System.Convert.ToInt(textBox1.Text);
2. как ограничить ввод в поле ввода( textbox1)?
-максимально введенное число двузначное
-закончить ввод по нажатию клавиши Enter

3.Как вызвать создание элементов формы?
Например при нажатии кнопки появляется поле, после ввода в это поле необходимых данных оно исчезает и т.д.
(Условие-событие-действие)

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2016, 11:24
Ответы с готовыми решениями:

Присвоить переменной типа int значение, введенное в TextBox
как, куда и как прописать ToString ?

Как присвоить значение из программно созданного textbox переменной?
есть форма, на ней размещена панель, на панели в зависимости от выбраного radiobutton строятся textbox как введенное значение затем...

Как в переменной int А присвоить значение из textBox (число) ?
Нужно потом с числом работать, а как записать не могу вспомнить , помогите, пожалуйста!

16
 Аватар для aleksskay4
71 / 68 / 46
Регистрация: 02.12.2015
Сообщений: 891
Записей в блоге: 1
13.11.2016, 11:34
1)
C#
1
 int.TryParse(textBox1.Text, out x);
Добавлено через 4 минуты
Это прочитай Ответы на 7 самых частых вопросов по WinForms
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 11:38  [ТС]
Спасибо.
Как проделать обратную операцию? из ячейки Х произвести вывод через lable1? или есть другие более интересные варианты вывода?
нужно это чтобы увидеть работает присваивание выше или нет.
0
 Аватар для aleksskay4
71 / 68 / 46
Регистрация: 02.12.2015
Сообщений: 891
Записей в блоге: 1
13.11.2016, 11:40
Ну напиши
C#
1
 label1.Text = x.ToString();
1
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 12:01  [ТС]
Спасибо) все оказалось намного проще чем я ждал)

Добавлено через 13 минут
как произвести вывод формата
label1.Text = "текст" х "текст";
0
 Аватар для aleksskay4
71 / 68 / 46
Регистрация: 02.12.2015
Сообщений: 891
Записей в блоге: 1
13.11.2016, 12:15
C#
1
String.Format("ваш текст {0} ваш текст", x);
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 12:18
aleksskay4,
например:
C#
1
label1.Text = "Скорость " + x + " км/ч";
или
C#
1
label1.Text = string.Format("Скорость {0} км/ч", x);
1
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 12:47  [ТС]
как сделать чтобы присвоение происходило только после нажатия пользователем enter?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 12:56
IamPashustic,
К событию KeyDown текстбокса подпишите обработчик:
C#
1
2
3
4
5
6
7
8
void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        x = int.Parse(textBox1.Text);
        label1.Text = string.Format("Скорость {0} км/ч", x);
    }
}
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 14: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
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            label4.Text = "Заполните поля!";
        }
        void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                int lvl = int.Parse(textBox1.Text);
                label2.Text = lvl.ToString();
            }
        }
        void textBox2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                string vid = textBox2.Text;
                label1.Text = vid.ToString();
            }
        }
        void textBox3_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                int ulch = int.Parse(textBox3.Text);
                label3.Text = ulch.ToString();
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            
            
            
        }
 
 
  
    }
}
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 14:38
IamPashustic,
Объявление переменных нужно вынести из обработчиков:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int lvl; //делаем полем lvl класса
void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        lvl = int.Parse(textBox1.Text);
        label2.Text = lvl.ToString();
    }
}
 
private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show(lvl.ToString());
}
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 14:57  [ТС]
он возвращает пустое значение(
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 15:21
IamPashustic,
Сравните строку 13 кода из сообщения #10 со строкой 6 из сообщения #11 и найдите три отличия.
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 18:20  [ТС]
понял,невнимателен. спасибо)

Добавлено через 2 часа 14 минут
вот код согласно вашему замечанию, но присваивание не происходит выдает 0 и 0
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
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            label1.Text = "Введите данные";
        }
        int lvl; //делаем полем lvl класса
        void textBox1_TextChanged(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                lvl = int.Parse(textBox1.Text);
            }
        }
        int mtr; //делаем полем lvl класса
        void textBox2_TextChanged(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                mtr = int.Parse(textBox2.Text);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(lvl.ToString());
            MessageBox.Show(mtr.ToString());
        }
 
    }
}
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 18:27
IamPashustic,
Сделайте так:
C#
1
2
3
4
5
6
7
8
void textBox1_TextChanged(object sender, KeyEventArgs e)
{
    MessageBox.Show("ПРИВЕЕЕЕТ!");            
    if (e.KeyCode == Keys.Enter)
    {
        lvl = int.Parse(textBox1.Text);
    }
}
И если при попытке ввода в текстбокс любого символа приветствие не появится, значит обработчик не подключен к событию.
0
0 / 0 / 0
Регистрация: 13.11.2016
Сообщений: 8
13.11.2016, 18:31  [ТС]
не подключен
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.11.2016, 18:39
IamPashustic,
В конструкторе формы щелкните по текстбоксу, перейдите в окно свойств, перейдите в события щелчком по кнопке с молнией, найдите событие TextChanged, в списке доступных обработчиков выберите textBox1_TextChanged

Добавлено через 2 минуты
А откуда взялось TextChanged? До этого речь шла о событии KeyDown!
Для создания обработчика события KeyDown сделайте двойной щелчок по этому событию в окне свойств.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2016, 18:39
Помогаю со студенческими работами здесь

Не читается введенное значение из TextBox
Ситуация: Существует форма, на которой находится SplitContainer. На Panel2 этого контейнера ПРОГРАММНО добавляются контролы (текстбоксы,...

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

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

Загрузить текст из файла в TextBox и присвоить переменной
Нужно загрузить и текстового файла текстбокс данные и присвоить их переменной для дальнейшего использования в цикле Загрузка из файла в...

В TextBox динамически отображать сумму значений из других TextBox
Ребята, добрый день! Через гугл не нашел решения вопроса, поэтому создал тему... ..вопрос такой... у меня есть три textBox ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru