0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
||||||
1 | ||||||
Модернизация калькулятора02.01.2018, 21:55. Показов 2125. Ответов 13
Метки нет Все метки)
(
Привет всем я только начал изучать C#, и по этому много не понимаю. Решил я начать с калькулятора. Код просто переписал с видео на ютубе. И вообщем вопрос. У меня при пустом textbox1 при нажатие на любой из символов '+', '-', '/', '*' выходит какая то ошибка мол формат не тот. А мне нужно как и в обычном калькуляторе, при нажатие этих символов нечего не происходило в том случаи если textbox чист. Как это сделать? Ну или может есть у кого исходник навороченного калькулятора на C#.
0
|
|
02.01.2018, 21:55 | |
Ответы с готовыми решениями:
13
Модернизация класса BitArray Модернизация вывода данных в Excel из DataGridView
Написание калькулятора |
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 09:59 | 2 |
Отладчик в руки и вперёд, ищешь где ошибка, и потом читаешь про обработку исключений.
0
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
|
03.01.2018, 10:04 [ТС] | 3 |
сама программа запускается и работает. Но когда нажимаю на символы то выходит ошибка что это не в том формате. Мне нужно сделать проверку на то что если textbox чист то при нажатии кнопки символа нечего не происходило.
0
|
![]() 11479 / 7822 / 1192
Регистрация: 21.01.2016
Сообщений: 29,327
|
|
03.01.2018, 11:09 | 4 |
Skofield, ну так сделай, что мешает?
0
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
||||||
03.01.2018, 12:07 [ТС] | 5 | |||||
К примеру вот, я сделал это на кнопке +. но все равно когда нажимаю + выводит ошибку
Если в textbox1 пуст или в textbox есть символ + то должно появится "нечего". иначе в textbox появится первый символ в параметре Text.
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 12:20 | 6 |
![]() Решение
Skofield, Ваше условие читается: если в текстбоксе ничего нету И это ничего равно +, то задаём текстбоксу пустую строку
1
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
|
03.01.2018, 12:39 [ТС] | 7 |
SeIZVeIZ, Урраааа получилось!!!))))))
Добавлено через 12 минут Но теперь когда я собираюсь делить, умножать, сложить или вычитать числа после запятой оно выдает ошибку и указывает на мой введенный код. Как это исправить? Добавлено через 3 минуты и еще цифры более одного символа не могу производить вычисления вылетает с ошибкой пример: хочу 22 - 1 а оно уже вылетает после нажатия -.
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 13:31 | 8 |
1) у ошибок есть описание, экстрасенсорика в новый год не пришла
2) после какой запятой? 3) где вылетает? (см п.1)
0
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
||||||
03.01.2018, 13:49 [ТС] | 9 | |||||
набираю 22 нажимаю плюс и вылетает с ошибкой
System.FormatException: "Длина строки должна составлять один знак." набираю 1,2 нажимаю плюс и вылетает с ошибкой System.FormatException: "Длина строки должна составлять один знак." и выводит вот на этот код
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 14:12 | 10 |
документацию по методу который вы используете смотреть не пытались?
Добавлено через 4 минуты Как по-вашему должна повести себя программа на Convert.ToChar когда у текстбокса значение 22 + ?
0
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
|
03.01.2018, 14:43 [ТС] | 11 |
но там же стоит if нажимается кнопка программа начинает проверять textbox1.Text не равняется пустой строке, дальше проверяет на то что есть ли символ + нету символа переходим к else
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 14:55 | 12 |
Skofield, прочитай внимательно второй мой вопрос
0
|
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 12
|
|
03.01.2018, 14:57 [ТС] | 13 |
И как сделать чтобы добавлялся лишь один символ. К примеру я нажимаю на запятую и оно добавляется столько раз сколько нажму а мен нужно чтобы запятая добавлялась только один раз
0
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
03.01.2018, 15:07 | 14 |
![]() Решение
подписываешься на TextChanged (вроде так называется) событие у текстбокса. и там делаешь нужные тебе проверки, чтобы вводилось только то что тебе нужно, ну или кнопками своими, хозяин барин. Код вы пишите и Вам решать как всё будет работать
Добавлено через 1 минуту Однако Convert.ToChar можно подать в виде строки только 1 символ, если подадите больше то будет ошибка как вы писали выше, к строке в текстбоксе можно обратиться по индексу получим 1 нужный символ (например последний)
1
|
03.01.2018, 15:07 | |
Помогаю со студенческими работами здесь
14
Аналог калькулятора Windows на C# Поле вода калькулятора Создание консольного калькулятора Создание простого калькулятора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |