コード例 #1
0
ファイル: CalculatorForm.cs プロジェクト: pagoru/Pasiona-Calc
        private void button_MouseClick(object sender, EventArgs e)
        {
            String strLabelValue       = ((Label)sender).Text;
            Char   firstCharLabelValue = strLabelValue.ToCharArray()[0];
            int    labelNumValue       = 0;

            if (int.TryParse(strLabelValue, out labelNumValue))
            {
                if (labelNumValue >= 0 && labelNumValue <= 9)
                {
                    calculator.addDisplayNumber(labelNumValue);
                }
                printDisplays(calculator.getDisplays());
                return;
            }
            if (strLabelValue.Equals("CE"))
            {
                calculator.removeDisplayNumber();
                printDisplays(calculator.getDisplays());
                return;
            }
            switch (firstCharLabelValue)
            {
            case (char)Calculator.Symbols.REMOVE_LAST:
                calculator.removeLastDisplayNumber();
                break;

            case (char)Calculator.Symbols.REMOVE_DISPLAY:
                calculator.removeDisplays();
                break;

            case (char)Calculator.Symbols.PLUS_MINUS:
                calculator.toggleDisplayNumberSymbol();
                break;

            case (char)Calculator.Symbols.COMMA:
                calculator.appendDisplayComma();
                break;

            case (char)Calculator.Symbols.ADD:
            case (char)Calculator.Symbols.SUBSTRACT:
            case (char)Calculator.Symbols.MULTIPLY:
            case (char)Calculator.Symbols.DIVIDE:
                calculator.addOperator(firstCharLabelValue);
                break;

            case (char)Calculator.Symbols.EQUAL:
                calculator.calculateResult();
                break;
            }
            printDisplays(calculator.getDisplays());
        }