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

Вывод в textbox

26.06.2018, 11:12. Показов 10778. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Подскажите, пожалуйста, как вывести в textbox3 произведение, введеных в textbox1 и textbox2 пользователем чисел. Без кнопки и mouseclick? Скопируйте, пожалуйста, код в ответ.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2018, 11:12
Ответы с готовыми решениями:

Если в textbox введено меньше 3 символов и фокус снимается с textbox, то вывод ошибки
если в textbox введено меньше 3 символов и пользователь вышел за границы textbox то вывести ошибку что 3 символа не может содержаться в...

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс По идее должен...

Вывод в textbox
Доброго времени суток, пишу программу для сбора информации о ПК, возник вопрос с выводом информации в textbox пока что есть функция...

35
113 / 100 / 68
Регистрация: 21.04.2014
Сообщений: 1,420
26.06.2018, 13:59
kriptan, на пример ты можешь обработать событие TextChanged у второго textbox
C#
1
2
3
4
private void textBox2_TextChanged ( object sender, EventArgs e )
{
    textBox3.Text = (Convert.ToInt64 ( textBox1.Text ) * Convert.ToInt64 ( textBox2.Text )).ToString();
}
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
26.06.2018, 16:58  [ТС]
Возможно это сделать в пространстве имен?
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
26.06.2018, 17:02
Вы хотите именно нажимая на какую-нибудь кнопку выводить произведение или как-то по другому?
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
26.06.2018, 17:26  [ТС]
Хочу как то так, а мне в textbox автоматом 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
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private class CalculateForm2 : INotifyPropertyChanged
        {
            private double _Hflow;
            public double Hflow
            {
                get
                {
                    return _Hflow;
                }
                set
                {
                    if (_Hflow != value)
                    {
                        _Hflow = _HTinlet * _Hpres;
                        OnHflow("Hflow");
                    }
                }
            }
 
            protected void OnHflow(string hflow)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(hflow));
            }
 
            private double _HTinlet;
            public double HTinlet
            {
                get
                {
                    return _HTinlet;
                }
                set
                {
                    if (_HTinlet != value)
                    {
                        _HTinlet = value;
                        OnHTinlet("HTinlet");
                    }
                }
            }
            protected void OnHTinlet(string hTinlet)
            {
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(hTinlet));
            }
 
            private double _Hpres;
            public double Hpres
            {
                get
                {
                        return _Hpres;
                }
                set
                {
                    if (_Hpres != value)
                    {
                        _Hpres = value;
                        OnHpres("HTinlet");
                    }
                }
            }
            protected void OnHpres(string hpres)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(hpres));
            }
 
 
            public event PropertyChangedEventHandler PropertyChanged;
        }
 
        CalculateForm2 cal2 = new CalculateForm2();
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox3_TextChanged(object sender, EventArgs e)
        {
 
        }
 
      
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.DataBindings.Add("Text", cal2, "Hflow");
            textBox1.Text = "";
            textBox2.DataBindings.Add("Text", cal2, "HTinlet");
            textBox2.Text = "";
            textBox3.DataBindings.Add("Text", cal2, "Hpres");
            textBox3.Text = "";
 
 
 
        }
    }
}
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
26.06.2018, 17:42
На сколько я понял, у Вас происходят вычисление при загрузке формы. Если это так, то вот вам нужный код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Form1_Load(object sender, EventArgs e)
        {
            if (textBox1.Text == "")//Проверяет пустой-ли первый textBox
            {
                textBox1.Text = "0";//Если пустой, то ставит значение 0
            }
 
            if(textBox2.Text == "")//Проверяет пустой-ли второй textBox
            {
                textBox2.Text = "0";//Если пустой, то ставит значение 0
            }
 
            double a = Convert.ToInt32(textBox1.Text);//Переводит тип значения в textBox1 из строки в число
            double b = Convert.ToInt32(textBox2.Text);//Переводит тип значения в textBox2 из строки в число
            double c = a * b;//Перемножает два числа
 
            textBox3.Text = c.ToString();//Выводит полученное число в textBox3 и конвертирует его в строку
        }
Если хотите вписать свои числа, то сделайте это в редакторе, в компоненте Text у textBox.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
26.06.2018, 18:26  [ТС]
Наоборот, мне 0 надо чтобы автоматом не ставились. Создайте 3 текстбокса, вставьте, пожалуйста, этот код. И, пожалуйста, посоветуйте, как уйти от 0-ей которые выдаются автоматом, если я пытаюсь заполнить текстбоксы.
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
26.06.2018, 18:31
Подождите, Вам надо, чтобы при загрузке формы в textBox3 было пусто, потом Вы ввели числа в textBox1 и textBox2, нажали на кнопку и в textBox3 появилось произведение этих чисел?
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
26.06.2018, 18:33  [ТС]
Да, только без кнопки. 3 текстбокса, в любых двух ввожу числа, в оставшемся получается произведение.
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
26.06.2018, 18:50
Вот и вся война:
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
        double a;
        double b;
        double c;
 
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            a = Convert.ToInt32(textBox1.Text);
            
            if(textBox2.Text == "")
            {
                textBox2.Text = "0";
            }else if (textBox1.Text == "")
            {
                textBox1.Text = "0";
            }
 
            b = Convert.ToInt32(textBox2.Text);
 
            c = a * b;
 
            textBox3.Text = c.ToString();
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            b = Convert.ToInt32(textBox2.Text);
 
            if (textBox2.Text == "")
            {
                textBox2.Text = "0";
            }
            else if (textBox1.Text == "")
            {
                textBox1.Text = "0";
            }
 
            a = Convert.ToInt32(textBox1.Text);
 
            c = a * b;
 
            textBox3.Text = c.ToString();
        }
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
26.06.2018, 19:18  [ТС]
Не очень понял, так разве в любые два текстбокса могу ввести числа и в оставшемся будет произведение введенных чисел?
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
26.06.2018, 19:22
Цитата Сообщение от kriptan Посмотреть сообщение
Не очень понял, так разве в любые два текстбокса могу ввести числа и в оставшемся будет произведение введенных чисел?
Да.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 09:54  [ТС]
ввожу в текстбокс1 число, автоматом ставит нули в текстбокс 2 и текстбокс 3. Ввожу числа в текстбокс 3 и текстбокс 2, ничего не считает в текстбокс 1.
Убрал проверки - нули вроде не выдает теперь, но ни в текстбокс2, ни в текстбокс1 не считает произведение при вводе чисел в оставшиеся текстбоксы.
Подскажите, пожалуйста, как поправить?

Добавлено через 21 минуту
Также пробую по Вашему методу делать и тоже ничего не получается( Можете помочь?
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        double a;
        double b;
        double c;
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
            if (textBox1.Text == "")
            {
                b = Convert.ToInt32(textBox2.Text);
                c = Convert.ToInt32(textBox3.Text);
                a = b * c;
                textBox1.Text = a.ToString();
            }
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            if (textBox2.Text == "")
            {
                a = Convert.ToInt32(textBox1.Text);
                c = Convert.ToInt32(textBox3.Text);
                b = a * c;
                textBox2.Text = b.ToString();
            }
 
        }
 
        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            if (textBox3.Text == "")
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox2.Text);
                c = a * b;
                textBox3.Text = c.ToString();
            }
 
        }
    }
}
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 10:40
Цитата Сообщение от kriptan Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
private void textBox1_TextChanged(object sender, EventArgs e)
* * * * {
if (textBox1.Text == "")
* * * * * * {
* * * * * * * * b = Convert.ToInt32(textBox2.Text);
* * * * * * * * c = Convert.ToInt32(textBox3.Text);
* * * * * * * * a = b * c;
* * * * * * * * textBox1.Text = a.ToString();
* * * * * * }
}
Логика здесь какая закладывается вами? Я вижу такое - когда поле Text в textBox1 изменяется проверить, если там пусто, то произвести конвертирования и умножения. Вы такую логику хотите?
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 10:42  [ТС]
Да. Хочу вводить в любых два текстбокса числа и чтобы в оставшемся третьем получать результат.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 10:45
Цитата Сообщение от OlegDamage Посмотреть сообщение
Вот и вся война:
обработчик достаточно сделать один на все textBox, переменные нет смысла создавать вообще.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 10:50  [ТС]
напишите код, пожалуйста.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 11:14
Цитата Сообщение от kriptan Посмотреть сообщение
напишите код, пожалуйста.
На форме должно быть три текст бокса, у первого нужно открыть события справа и там дважды щелкнуть на TextChanged, вставить код начиная с try и заканчивая скобкой "}" после catch. Потом выбрать textBox2 и для TextChanged в выпадающем списке просто выбрать textBox1_TextChanged.
C#
1
2
3
4
5
6
7
8
9
10
11
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                textBox3.Text = ((textBox1.Text == "" ? 0 : Convert.ToInt32(textBox1.Text)) * (textBox2.Text == "" ? 0 : Convert.ToInt32(textBox2.Text))).ToString();
            }
            catch
            {
                MessageBox.Show("Вы вводите фигню, а нужно вводить цифры!!!");
            }
        }
Миниатюры
Вывод в textbox   Вывод в textbox  
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 12:21  [ТС]
1. После ввода в текстбокс1 автоматически появляется 0 в текстбокс3
2. Ввожу в текстбокс 3 и текстбокс2 цифры и ничего не происходит (не появляется результат в текстбокс1)
Можете эти моменты поправить, пожалуйста?

Добавлено через 3 минуты
Особенно пункт 1 - это и есть та проблема, которую мне нужно решить. Тогда я и своим кодом смогу воспользоваться наверное
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 12:24
Цитата Сообщение от kriptan Посмотреть сообщение
1. После ввода в текстбокс1 автоматически появляется 0 в текстбокс3
вас удивляет что умножение на ноль дает ноль?

Цитата Сообщение от kriptan Посмотреть сообщение
2. Ввожу в текстбокс 3 и текстбокс2 цифры и ничего не происходит (не появляется результат в текстбокс1)
ввод в textBox3 не имеет смысла, так как ввод туда никак не обрабатывается, это же поле для ВЫвода
ввод в textBox2 работает как и полагается, я вам даже кинул картинку с экрана где всё работает, 8 умножилось на 50, дан ответ 400, потом добавил букву "k" и вывелось окно с обработчика ошибок. Если у вас не работает, значит вы не установили для textBox2 обработчик TextChanged.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2018, 12:24
Помогаю со студенческими работами здесь

вывод бд в textbox-е
есть две формы, на первой - полный список компаний, на второй - полная информация по каждой комп-и в отдельности по щелчку на 1-й...

Вывод в textBox
Такая проблемка, необходимо из одного textBoxа(например textBox1), в котором находиться некоторые числа,соединенные знаком "+"...

Вывод в TextBox
Помогите, пожалуйста уже 3 дня гуглю и мучаюсь(( Вобщем так есть 3 разных (круг, квадрат, овал) элемента Shape, для каждого элемента...

Вывод в textBox
Доброго времени суток. Подскажите пожалуйста, как сделать, что бы при расчётах крупных чисел, в textBox не выводился результат типа...

Вывод данных в textbox
Форумчане друзья помогите, уже весь интернет облазил !!! Есть БД, которая подкючена через MS SQL Server Есть таблица с данными, в DGV...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru