Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/106: Рейтинг темы: голосов - 106, средняя оценка - 4.83
87 / 87 / 36
Регистрация: 27.11.2011
Сообщений: 713

Калькулятор: как значение TextBox записать в переменную

03.11.2012, 11:32. Показов 20342. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста! Хочу ссделать калькулятор но не могу не много понять логику!Ввожу я значение с кнопок в textBox,как сделать что бы это значение помещалась в какую-нибудь переменную и потом происходило сложение. И при нажатии на кнопку равно выводилось сумма двух значений на textbox?Заранее благодарен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2012, 11:32
Ответы с готовыми решениями:

Значение из TextBox записать в переменную
Скажите, пожалуйста как сделать ввод в TextBox , чтобы введеное число считывалоси и записывалось в переменую или массив, зарание спасибо!

Записать в переменную int значение из TextBox
Поправьте пожалуйста. Ошибка: ругается на int a = Convert.ToInt32(bk_txt.Text); Входная строка имела неверный формат. ...

Записать в переменную Double значение из textBox
Добрый день! Уже второй день сижу, пытаюсь понять почему не работает фрагмент кода, может вы подскажете) смысл таков: на форме...

9
 Аватар для Sanyaslinkz
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
03.11.2012, 13:27
допустим у тебя есть 2 кнопки + и = ,
сначало создаем глобальные переменные chislo1 , chislo2 , op , ор - отечает за операцию которую мы будем делать
C#
1
2
public double chislo1=0,chislo2=0;
public int =0;
вот код для +
C#
1
2
3
chislo1 = Convert.ToDouble(textBox1.Text);
op=1
textBox1.Text="";
вот для =
C#
1
2
3
chislo2 = Convert.ToDouble(textBox1.Text);
if (op==1)
textBox1.Text = (chislo1+chislo2).ToString();
Писал тут, синтаксис подправить думаю сможешь сам
2
87 / 87 / 36
Регистрация: 27.11.2011
Сообщений: 713
03.11.2012, 14:18  [ТС]
спасибо тебе огромное!!!
0
0 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 14
05.11.2012, 20:26
Цитата Сообщение от jecus Посмотреть сообщение
Ребята помогите пожалуйста! Хочу ссделать калькулятор но не могу не много понять логику!Ввожу я значение с кнопок в textBox,как сделать что бы это значение помещалась в какую-нибудь переменную и потом происходило сложение. И при нажатии на кнопку равно выводилось сумма двух значений на textbox?Заранее благодарен
Привет. Мне тоже нужно сделать калькулятор. если ты его уже сделал, можешь прислать код? только я еще не поняла, как тут пользоваться лс... мне доступна эта функция?
0
 Аватар для Sanyaslinkz
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
05.11.2012, 21:01
kolk.rar вот когда то писал, может пригодиться.
0
0 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 14
05.11.2012, 21:44
что такое label?
0
 Аватар для Sanyaslinkz
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
05.11.2012, 23:05
надпись
0
 Аватар для Грозный кролик
0 / 0 / 0
Регистрация: 17.12.2018
Сообщений: 3
17.12.2018, 23:55
Здравствуй! Я относительно недавно делала калькулятор (в Visual Studio 2015, в Windows Forms) и если интересно могу кинуть код, в конструкторе были textBox, label, кнопки на разные цифры и несложные действия над цифрами.
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
18.12.2018, 00:16
А скольно действий в калькуляторе? Если более или менее..., то там желательно иметь пару десятков действий.
0
 Аватар для Грозный кролик
0 / 0 / 0
Регистрация: 17.12.2018
Сообщений: 3
18.12.2018, 02:23
не сказала бы что там много действий, ну в общем выглядит там все примерно так
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        float a, b;//Переменные
        int count;
        bool znak = true;//Знак переменной
 
        
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void button10_Click_1(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 0;//Выводит цифру 0
        }
 
        private void buttonРазделить_Click(object sender, EventArgs e) //Действие "Деление"
        {
            if (textBox1.Text != "")//Проверка на наличие числа в текстбоксе
            {
                a = float.Parse(textBox1.Text);
                textBox1.Clear();
                count = 4; //значение count, которое уточнит, какую именно операцию выполнять
                label1.Text = a.ToString() + "/";
                znak = true;
            }
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 1;//Выводит цифру 1
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 2;//Выводит цифру 2
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 3;//Выводит цифру 3
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 4;//Выводит цифру 4
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 5;//Выводит цифру 5
        }
 
        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 6;//Выводит цифру 6
        }
 
        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 7;//Выводит цифру 7
        }
 
        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 8;//Выводит цифру 8
        }
 
        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text + 9;//Выводит цифру 9
        }
 
        private void buttonЗнак_Click(object sender, EventArgs e) //Знак числа
        {
            if (textBox1.Text != "")//Проверка на наличие числа в текстбоксе
            {
                if (znak == true)
                {
                    textBox1.Text = "-" + textBox1.Text;
                    znak = false;
                }
                else if (znak == false)
                {
                    textBox1.Text = textBox1.Text.Replace("-", "");
                    znak = true;
                }
            }
 
        }
 
        private void buttonЗапятая_Click(object sender, EventArgs e) //Запятая
        {
            if (textBox1.Text != "")//Проверка на наличие числа в текстбоксе
            {
                if (textBox1.Text.IndexOf(",") == -1)//Исключить двойной ввод запятой
                {
                    textBox1.Text += ",";
                }
            }
 
        }
 
        private void buttonС_Click(object sender, EventArgs e) //Очистить текстбокс
        {
            textBox1.Text = "";//Очищает тексбокс
            label1.Text = "";//Очищает лейбл
 
        }
 
        private void buttonУмножить_Click(object sender, EventArgs e) //Действие "Умножение"
        {
            if (textBox1.Text != "")//Проверка на наличие числа в текстбоксе
            {
                a = float.Parse(textBox1.Text);
                textBox1.Clear();
                count = 3;//значение count, которое уточнит, какую именно операцию выполнять
                label1.Text = a.ToString() + "*";
                znak = true;
            }
 
        }
 
        private void buttonAD_Click(object sender, EventArgs e) //Удаление одной цифры в числе
        {
            int lenght = textBox1.Text.Length - 1;//переменная lenght - количество символов в ТекстБокс минус один
            string text = textBox1.Text; //пременная text, в которую заносится текст из ТекстБокс
            textBox1.Clear();//Очищает текстбокс
            for (int i = 0; i < lenght; i++) //В ТекстБокс введется число на один символ короче предыдущего
            {
                textBox1.Text = textBox1.Text + text[i];
            }
 
        }
 
        private void buttonМинус_Click(object sender, EventArgs e) //Действие "Вычитание"
        {
            if (textBox1.Text != "")//Проверка на наличие числа в текстбоксе
            {
                a = float.Parse(textBox1.Text);
                textBox1.Clear();
                count = 2;//значение count, которое уточнит, какую именно операцию выполнять
                label1.Text = a.ToString() + "-";
                znak = true;
            }
 
        }
 
        private void buttonПлюс_Click(object sender, EventArgs e) //Действие "Сложение"
        {
            if (textBox1.Text != "")
            {
                a = float.Parse(textBox1.Text);
                textBox1.Clear();
                count = 1;//значение count, которое уточнит, какую именно операцию выполнять
                label1.Text = a.ToString() + "+";
                znak = true;
            }
 
        }
 
        private void buttonРавно_Click(object sender, EventArgs e) //Вывод результата (знак "равно")
        {
            calculate();
            label1.Text = "";
 
        }
        private void calculate()//Метод для "Равно"
        {
            switch (count)//оператор управления, который включает в себя несколько case
                          //от значения count будет зависеть, какое действие будет выполняться
            {
                case 1:
                    b = a + float.Parse(textBox1.Text);
                    textBox1.Text = b.ToString();
                    break;
                case 2:
                    b = a - float.Parse(textBox1.Text);
                    textBox1.Text = b.ToString();
                    break;
                case 3:
                    b = a * float.Parse(textBox1.Text);
                    textBox1.Text = b.ToString();
                    break;
                case 4:
                    if (float.Parse(textBox1.Text) == 0.0)//Деление на ноль
                    {
                        MessageBox.Show("Действие невозможно");
                        textBox1.Text = "";
                        label1.Text = "";
                    }
                    else
                    {
                        b = a / float.Parse(textBox1.Text);
                        textBox1.Text = b.ToString();
                    }
                    break;
                default:
                    break;
 
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2018, 02:23
Помогаю со студенческими работами здесь

Записать в переменную значение из TextBox
Здравствуйте! Подскажите, пожалуйста, как додать 2 числа (c textBox1)? Событие при клике кнопки: Double a =...

Как задасть значение Textbox в переменную, а затем эту переменную вывести в другой форме
Приветствую Есть форма с полем, где есть значение, как значение этого поле перенести в переменную, а затем вывести ее в другом поле,...

Как записать в переменную double из TextBox отрицательное число?
Такая вот проблема, если ввожу в TextBox сразу цифры, все нормально, а если начинаю с минуса - отладка обрывается. a2 объявлена ранее в...

Как записать Как записать в ADO recordset значение NULL через datacombo или textbox?
Перехожу с Access на SQLserver+VB. ADO recordset открыт через DataEnvironment, client-side, LockOptimistic. Пытаюсь на Validate...

Как сохранить значение из textBox в переменную?
Помогите, пожалуйста. Не могу сохранить введенный в textBox текст в переменную.


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru