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

Вывод в textbox

26.06.2018, 11:12. Показов 10930. Ответов 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
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 12:28  [ТС]
Студворк — интернет-сервис помощи студентам
у меня все работает как у вас, но задачу это не решает к сожалению( Можете помочь с моей задачей?
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 12:31
Цитата Сообщение от kriptan Посмотреть сообщение
1. После ввода в текстбокс1 автоматически появляется 0 в текстбокс3
если у вас аллергия на ноль, можете поставить if и если Text == "" ничего не делать (или делать когда != ""), тогда первичный ноль появляться не будет.

Добавлено через 1 минуту
Цитата Сообщение от kriptan Посмотреть сообщение
Можете помочь с моей задачей?
Цитата Сообщение от kriptan Посмотреть сообщение
Подскажите, пожалуйста, как вывести в textbox3 произведение, введеных в textbox1 и textbox2 пользователем чисел. Без кнопки и mouseclick?
Это ваша задача и мой код её решает на 200%.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 12:31  [ТС]
Цитата Сообщение от belalugoci Посмотреть сообщение
вас удивляет что умножение на ноль дает ноль?
Не удивляет, а возможно сделать, чтобы результат в текстбокс3 выдавался только после ввода в текстбокс1 и текстбокс2, а до этого текстбокс3 оставался пустым?
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 12:32
Цитата Сообщение от kriptan Посмотреть сообщение
но задачу это не решает
Вы выполните сами сначала условие своей же задачи - введите числа в оба контрола, а то вы вводите только значение в textBox1 и сразу паникуете.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 12:33  [ТС]
Цитата Сообщение от belalugoci Посмотреть сообщение
если у вас аллергия на ноль, можете поставить if и если Text == "" ничего не делать (или делать когда != ""), тогда первичный ноль появляться не будет
Да мне так и надо, напишите код, пожалуйста, спасибо за понимание, не хотел вас раздражать.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 12:34
Цитата Сообщение от kriptan Посмотреть сообщение
а возможно сделать, чтобы результат в текстбокс3 выдавался только после ввода в текстбокс1 и текстбокс2, а до этого текстбокс3 оставался пустым?
это:
Цитата Сообщение от belalugoci Посмотреть сообщение
можете поставить if и если Text == "" ничего не делать (или делать когда != ""), тогда первичный ноль появляться не будет.
Добавлено через 49 секунд
Цитата Сообщение от kriptan Посмотреть сообщение
Да мне так и надо, напишите код, пожалуйста, спасибо за понимание, не хотел вас раздражать.
корректнее задавайте вопросы, я же не телепат
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 12:51  [ТС]
Цитата Сообщение от belalugoci Посмотреть сообщение
Вы выполните сами сначала условие своей же задачи - введите числа в оба контрола, а то вы вводите только значение в textBox1 и сразу паникуете.
Да, возможно неправильно сформулировал изначально.
Цитата Сообщение от kriptan Посмотреть сообщение
Хочу вводить в любых два текстбокса числа и чтобы в оставшемся третьем получать результат.
А такое возможно осуществить?

Добавлено через 14 минут
Цитата Сообщение от belalugoci Посмотреть сообщение
корректнее задавайте вопросы, я же не телепат
Помогите, пожалуйста.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
27.06.2018, 13:01
Цитата Сообщение от kriptan Посмотреть сообщение
напишите код, пожалуйста
C#
1
                if (textBox1.Text != "" && textBox2.Text != "") textBox3.Text = ((textBox1.Text == "" ? 0 : Convert.ToInt32(textBox1.Text)) * (textBox2.Text == "" ? 0 : Convert.ToInt32(textBox2.Text))).ToString();
замените строку после try

Добавлено через 2 минуты
Цитата Сообщение от kriptan Посмотреть сообщение
Хочу вводить в любых два текстбокса числа и чтобы в оставшемся третьем получать результат.
если случайные текстбоксы, то нужно всё равно определиться с логикой, иначе никак. Например в поле где пусто выводить результат умножения двух оставшихся.
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 13:39  [ТС]
Цитата Сообщение от belalugoci Посмотреть сообщение
если случайные текстбоксы, то нужно всё равно определиться с логикой, иначе никак. Например в поле где пусто выводить результат умножения двух оставшихся.
Да так и нужно

Добавлено через 11 минут
Напишите код?
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,762
Записей в блоге: 2
27.06.2018, 14:34
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
    {
        List<TextBox> TextBoxes;
        Queue<TextBox> LastTextBoxes;
        bool WasEdited = false;
        public Form1()
        {
            InitializeComponent();
        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            TextBoxes = new List<TextBox>();
            TextBoxes.AddRange(Controls.OfType<TextBox>().ToList());
            TextBoxes.ForEach(x =>
            {
                x.TextChanged += (s, ev) => WasEdited = true;
                x.Leave += textbox_Leave;
            });
            LastTextBoxes = new Queue<TextBox>();
        }
 
        void textbox_Leave(object sender, EventArgs e)
        {
            if (WasEdited)
            {
                TextBox CurrentTB = (TextBox)sender;
                int n;
                if (Int32.TryParse(CurrentTB.Text, out n))
                {
                    if (LastTextBoxes.All(x => !x.Equals(CurrentTB))) LastTextBoxes.Enqueue(CurrentTB);
                    if (LastTextBoxes.Count > TextBoxes.Count - 1) LastTextBoxes.Dequeue();
                }
 
                if (LastTextBoxes.Count == TextBoxes.Count - 1)
                {
                    TextBox output = TextBoxes.Except(LastTextBoxes).First();
                    output.Text = LastTextBoxes.Select(x => Convert.ToInt32(x.Text)).Aggregate((x, y) => x * y).ToString();
                }
                WasEdited = false;
            }
        }
    }
Вот например
0
0 / 0 / 0
Регистрация: 13.06.2018
Сообщений: 71
27.06.2018, 14:47  [ТС]
Спасибо, круто. Единственно, чтобы получить результат надо кликнуть по текстбоксу. А можно сделать еще универсальнее? Например, клик по любому месту формы, а лучше вообще без клика.
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,762
Записей в блоге: 2
27.06.2018, 14:52
надо не кликать, а покинуть текущий текстбокс.
Ну попробуйте. Тут сложность в том, что для "горячего" обновления текстбокса, нужно подписываться на событие изменения текста в текстбоксе, а не покидания фокуса. Но когда вы записываете ответ в текстбок, так же срабатывает событие изменение текста. И начинается бесконечный цикл.
Нужно написать логику, которая определала бы, когда пользователь меняет значение, а когда программа.
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
27.06.2018, 19:39
По последнему коду, который я скидывал, нужно было действовать так:
В textBox1 и textBox2 вводите числа, а в textBox3 выводится их произведение, а вы вводили число в textBox3, что делать не стоило.
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
27.06.2018, 20:03  [ТС]
Я не понимаю, зачем вы продолжаете позориться? Если невнимательно читаете сообщения, хотя бы по моему коду могли бы понять, что ваш примитив тут не покатит. Это все таки форум программистов, а не первоклассников.
Огромное спасибо TOROS1992, хоть и дал решение 20 летней давности, все же оно применимо.
В случае, если кто-то сможет помочь более модно и современно, милости прошу. Возможно в мой код удастся добавить пару методов или еще чего?
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
28.06.2018, 03:16
Цитата Сообщение от kriptan Посмотреть сообщение
Я не понимаю, зачем вы продолжаете позориться? Если невнимательно читаете сообщения, хотя бы по моему коду могли бы понять, что ваш примитив тут не покатит. Это все таки форум программистов, а не первоклассников.
полегче на поворотах, Бог программирования вы наш.
1
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,762
Записей в блоге: 2
28.06.2018, 06:22
kriptan, очень интересно услышать комментарий по повобу решения 20 летней давности. Прям интересно, что вы имели ввиду?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2018, 06:22

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru