private void OnClearBtnClick(object sender, RoutedEventArgs e) { Sign sign = (Sign)((Button)sender).Tag; switch (sign) { case Sign.CBtn: _calculator.ClearAll(); result.Text = ""; example.Text = ""; SaveBox.Text = ""; break; case Sign.CeBtn: _calculator.ClearTwoNumber(); example.Text = example.Text.Remove(example.Text.Length - result.Text.Length, result.Text.Length); result.Text = ""; _current = NegativePositive.Positive; break; case Sign.ClearBtn: if (result.Text.Length != 0) { _calculator.Clear(); example.Text = example.Text.Remove(example.Text.Length - 1); result.Text = result.Text.Remove(result.Text.Length - 1); } break; } }
private void NegativeNumberBtn_Click(object sender, RoutedEventArgs e) { if (_current == NegativePositive.Positive) { example.Text = example.Text.Insert(example.Text.Length - result.Text.Length, "-"); result.Text = result.Text.Insert(0, "-"); _calculator.NegPos(); _current = NegativePositive.Negative; } else { example.Text = example.Text.Remove(example.Text.Length - result.Text.Length, 1); result.Text = result.Text.Remove(0, 1); _calculator.NegPos(); _current = NegativePositive.Positive; } }
private void OnEqualClick(object sender, RoutedEventArgs e) { _calculator.inputnumber(); Sign sign = (Sign)((Button)sender).Tag; if (_step != sign) { example.Text += (string)((Button)e.OriginalSource).Content; _calculator.ArithmeticAction(); _calculator.outputnumber(); result.Text = _calculator.EqualAction(sign); example.Text += _calculator.EqualAction(sign); _calculator.state(sign); _step = sign; _current = NegativePositive.Positive; } }
private void OnCalcBtnClick(object sender, RoutedEventArgs e) { _calculator.inputnumber(); Sign sign = (Sign)((Button)sender).Tag; if (sign != Sign.Perc) { _calculator.ArithmeticAction(); //} //сначала проверяем action и выполняем соответствующее действие _calculator.state(sign); //после меняем action в зависимости от нажатой кнопки example.Text += (string)((Button)e.OriginalSource).Content; //записываем _step = sign; } else // это если нажата кнопка процента { _calculator.PercentAction(); } result.Text = ""; _current = NegativePositive.Positive; }
private void OnKeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.NumPad0: OnDigitBtnClick(Num0Btn, null); break; case Key.NumPad1: OnDigitBtnClick(Num1Btn, null); break; case Key.NumPad2: OnDigitBtnClick(Num2Btn, null); break; case Key.NumPad3: OnDigitBtnClick(Num3Btn, null); break; case Key.NumPad4: OnDigitBtnClick(Num4Btn, null); break; case Key.NumPad5: OnDigitBtnClick(Num5Btn, null); break; case Key.NumPad6: OnDigitBtnClick(Num6Btn, null); break; case Key.NumPad7: OnDigitBtnClick(Num7Btn, null); break; case Key.NumPad8: OnDigitBtnClick(Num8Btn, null); break; case Key.NumPad9: OnDigitBtnClick(Num9Btn, null); break; case Key.Enter: Sign sign5 = Sign.Equal; if (_step != sign5) { example.Text += "="; _calculator.ArithmeticAction(); result.Text = _calculator.EqualAction(sign5); example.Text += _calculator.EqualAction(sign5); _calculator.state(sign5); _step = sign5; _current = NegativePositive.Positive; } break; case Key.Add: Sign sign1 = Sign.Plus; if (sign1 != Sign.Perc) { _calculator.ArithmeticAction(); //} //сначала проверяем action и выполняем соответствующее действие _calculator.state(sign1); //после меняем action в зависимости от нажатой кнопки example.Text += "+"; //записываем _step = sign1; } else // это если нажата кнопка процента { _calculator.PercentAction(); } result.Text = ""; _current = NegativePositive.Positive;; break; case Key.Subtract: Sign sign2 = Sign.Minus; if (sign2 != Sign.Perc) { _calculator.ArithmeticAction(); //} //сначала проверяем action и выполняем соответствующее действие _calculator.state(sign2); //после меняем action в зависимости от нажатой кнопки example.Text += "-"; //записываем _step = sign2; } else // это если нажата кнопка процента { _calculator.PercentAction(); } result.Text = ""; _current = NegativePositive.Positive;; break; case Key.Multiply: Sign sign3 = (Sign)((Button)sender).Tag; if (sign3 != Sign.Perc) { _calculator.ArithmeticAction(); //} //сначала проверяем action и выполняем соответствующее действие _calculator.state(sign3); //после меняем action в зависимости от нажатой кнопки example.Text += "*"; //записываем _step = sign3; } else // это если нажата кнопка процента { _calculator.PercentAction(); } result.Text = ""; _current = NegativePositive.Positive;; break; case Key.Divide: Sign sign4 = Sign.Div; if (sign4 != Sign.Perc) { _calculator.ArithmeticAction(); //} //сначала проверяем action и выполняем соответствующее действие _calculator.state(sign4); //после меняем action в зависимости от нажатой кнопки example.Text += "/"; //записываем _step = sign4; } else // это если нажата кнопка процента { _calculator.PercentAction(); } result.Text = ""; _current = NegativePositive.Positive;; break; default: break; } }