private void Button_Click(object sender, RoutedEventArgs e)
        {
            int    digit = -1;
            Button b     = sender as Button;

            if (int.TryParse(b.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (b.Tag)
                {
                case "div":
                    calc.AddOperation(CalculatorOperation.Div);
                    break;

                case "mul":
                    calc.AddOperation(CalculatorOperation.Mul);
                    break;

                case "min":
                    calc.AddOperation(CalculatorOperation.Sub);
                    break;

                case "pls":
                    calc.AddOperation(CalculatorOperation.Add);
                    break;

                case "clear":
                    calc.Clear();
                    break;

                case "clearall":
                    calc.clearAll();
                    break;

                case "compute":
                    calc.Compute();
                    break;

                case "dot":
                    calc.AddPoint();
                    break;

                case "negate":
                    calc.TransformInput(CalculatorTransformation.Negate);
                    break;

                case "percent":
                    calc.TransformInput(CalculatorTransformation.Percent);
                    break;

                case "sqr":
                    calc.TransformInput(CalculatorTransformation.Sqr);
                    break;

                case "sqrt":
                    calc.TransformInput(CalculatorTransformation.Sqrt);
                    break;

                case "inverse":
                    calc.TransformInput(CalculatorTransformation.Inverse);
                    break;

                case "del":
                    calc.RemoveDigit();
                    break;
                }
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;
            int digit  = -1;

            if (int.TryParse(button.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (button.Tag)
                {
                case "plus":
                    calc.AddOperation(CalculatorOperation.Add);
                    break;

                case "minus":
                    calc.AddOperation(CalculatorOperation.Sub);
                    break;

                case "multiplication":
                    calc.AddOperation(CalculatorOperation.Mul);
                    break;

                case "division":
                    calc.AddOperation(CalculatorOperation.Div);
                    break;

                case "negate":
                    calc.TransformInput(CalculatorTransformation.Negate);
                    break;

                case "percent":
                    calc.TransformInput(CalculatorTransformation.Percent);
                    break;

                case "sqr":
                    calc.TransformInput(CalculatorTransformation.Sqr);
                    break;

                case "sqrt":
                    calc.TransformInput(CalculatorTransformation.Sqrt);
                    break;

                case "inverse":
                    calc.TransformInput(CalculatorTransformation.Inverse);
                    break;

                case "point":
                    calc.AddPoint();
                    break;

                case "compute":
                    calc.Compute();
                    break;

                case "delete":
                    calc.Delete();
                    break;

                case "clear":
                    calc.Clear();
                    break;

                default:
                    MessageBox.Show(button.Tag?.ToString() ?? "");
                    break;
                }
            }
        }
Exemplo n.º 3
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            int    digit  = -1;

            if (int.TryParse(button.Content.ToString(), out digit))
            {
                calc.AddDigit(digit);
            }
            else
            {
                switch (button.Tag)
                {
                case "Add":
                    calc.ProcessBinOp(CalculatorOperations.Add);
                    break;

                case "Sub":
                    calc.ProcessBinOp(CalculatorOperations.Sub);
                    break;

                case "Mul":
                    calc.ProcessBinOp(CalculatorOperations.Mul);
                    break;

                case "Div":
                    calc.ProcessBinOp(CalculatorOperations.Div);
                    break;

                case "Eq":
                    calc.ProcessBinOp(CalculatorOperations.Eq);
                    break;

                case "Invert":
                    calc.ProcessUnOp(CalculatorUnOperations.Invert);
                    break;

                case "Point":
                    calc.AddPoint();
                    break;

                case "Reciprocal":
                    calc.ProcessUnOp(CalculatorUnOperations.Reciprocal);
                    break;

                case "CE":
                    calc.Clear();
                    break;

                case "C":
                    calc.ClearAll();
                    break;

                case "Percent":
                    calc.ProcessBinOp(CalculatorOperations.Percent);
                    break;

                case "Sqr":
                    calc.ProcessUnOp(CalculatorUnOperations.Sqr);
                    break;

                case "Sqrt":
                    calc.ProcessUnOp(CalculatorUnOperations.Sqrt);
                    break;

                case "Backspace":
                    calc.ProcessUnOp(CalculatorUnOperations.Backspace);
                    break;
                }
            }
        }