private void ResetOnClearButton(object sender, RoutedEventArgs e) { NumberField.Clear(); ArithmeticOperations.Reset(); NumberField.Text = "0"; }
private void LayoutButtonClick(object sender, RoutedEventArgs e) { if (!(sender is Button button)) { return; } if (!double.TryParse(button.Content.ToString(), out _)) { switch (button.Content.ToString()) { case "-": _operationActive = true; UpdateResult(ArithmeticOperations.ComputeResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "+": _operationActive = true; UpdateResult(ArithmeticOperations.ComputeResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "/": _operationActive = true; UpdateResult(ArithmeticOperations.ComputeResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "*": _operationActive = true; UpdateResult(ArithmeticOperations.ComputeResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case ".": if (_operationActive) { return; } if (NumberField.Text.Any(t => t == '.')) { return; } NumberField.Text += "."; break; case "=": UpdateResult(ArithmeticOperations.ComputeResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; default: MessageBox.Show("Error"); break; } } else { if (_operationActive) { NumberField.Clear(); _operationActive = !_operationActive; } if (NumberField.Text != "0" && NumberField.Text != "∞" && NumberField.Text != "-∞") { NumberField.Text += button.Content.ToString(); } else { NumberField.Text = button.Content.ToString(); } } }
private void ButtonClick(object sender, RoutedEventArgs e) { if (!(sender is Button button)) { return; } if (double.TryParse(button.Content.ToString(), out _)) { if (_operationActive) { NumberField.Clear(); _operationActive = false; } if (NumberField.Text == "0" || NumberField.Text == "∞" || NumberField.Text == "-∞") { NumberField.Text = button.Content.ToString(); } else { NumberField.Text += button.Content.ToString(); } return; } switch (button.Content.ToString()) { case "+": _operationActive = true; SetResult(ArithmeticOperations.GetResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "-": _operationActive = true; SetResult(ArithmeticOperations.GetResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "*": _operationActive = true; SetResult(ArithmeticOperations.GetResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "/": _operationActive = true; SetResult(ArithmeticOperations.GetResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case "=": SetResult(ArithmeticOperations.GetResult(button.Content.ToString(), double.Parse(NumberField.Text))); break; case ".": if (_operationActive) { return; } if (NumberField.Text.Any(t => t == '.')) { return; } NumberField.Text += "."; break; default: MessageBox.Show("Something went wrong..."); break; } }