задрот в различнейших областях
Начали изучение шарпа с написание простенького калькулятора.
Дома как бы все доделала - отлично работает, считает правильно, но два но:
- Когда устанавливаю запятую, она ставится сначала перед всеми числами, потом только на место
- Минус ставится всегда в конец, и не меняет свое положение, даже если вводить новые числа.
вывод числа в textBox. Прошу помощи.

Скриншот

@темы: Вопрос, C#

Комментарии
02.09.2012 в 14:20

И тесно облакам.
У вас ошибки в коде.
02.09.2012 в 14:24

задрот в различнейших областях
Ri, понимаете, в чем проблема. я тоже так решила и кинулась построчно проверять код.
Так вот - строка выглядит нормальной, то есть textBox1.Text это например -3,0, а в строке в приложении написано 3,0-.

А если ошибки - это касается texBox-а, или функций, с ним связанными? Я попробовала вывести в текстбокс -8 просто, в одной из функций, мне выведено в ответ было 8-.
02.09.2012 в 14:53

И тесно облакам.
Может, код покажете всё-таки?
02.09.2012 в 15:00

задрот в различнейших областях
Ri, да-да, тормознула слегонца) сейчас
Form1.cs

Кстати, в поле у меня выравнивание справа, а вот сделала выравнивание слева - и все вроде адекватно...
02.09.2012 в 15:07

задрот в различнейших областях
вопрос решен, не такое выравнивание поставила == было Right to left, а нужно TextAlign ==
Вот так всегда.
Ri, спасибо! Если бы не начала с вами разговаривать, так бы и не поняла)
02.09.2012 в 15:18

И тесно облакам.
Хм, у вас такой запутанный код, что я даже не знаю, что посоветовать. Дам лучше пару общих замечаний.

Надо отделять логику от представления. Текущие значения и состояние калькулятора нужно хранить в переменных, а не в поле ввода. То есть res.Text.ToString() у вас нигде не должно быть. Нужно только устанавливать текст в поле на основе значений переменных. Попробуйте переделать код так, чтобы это выполнялось. Уверен, проблем станет меньше.

Ну, и нельзя делать переменные с именем вроде "а", имена должны быть говорящие.
02.09.2012 в 15:34

задрот в различнейших областях
Ri, то есть при нажатии клавиши, отвечающей за число или точку сначала изменять переменную, а потом только поле вывода? интересно, спасибо, надо посмотреть