private void ButtonNumber_Click(object sender, EventArgs e) { var b = (Button)sender; switch (b.Name) { case "button0": numberType = ButtonNumberType.Zero; break; case "button1": numberType = ButtonNumberType.One; break; case "button2": numberType = ButtonNumberType.Two; break; case "button3": numberType = ButtonNumberType.Three; break; case "button4": numberType = ButtonNumberType.Four; break; case "button5": numberType = ButtonNumberType.Five; break; case "button6": numberType = ButtonNumberType.Six; break; case "button7": numberType = ButtonNumberType.Seven; break; case "button8": numberType = ButtonNumberType.Eight; break; case "button9": numberType = ButtonNumberType.Nine; break; case "buttonDot": numberType = ButtonNumberType.Dot; break; default: Debug.Assert(false, "Fiks det"); break; } NumberPressed(numberType); }
private void NumberPressed(ButtonNumberType numberType) { var numberString = "0"; switch (numberType) { case ButtonNumberType.Zero: numberString = "0"; break; case ButtonNumberType.One: numberString = "1"; break; case ButtonNumberType.Two: numberString = "2"; break; case ButtonNumberType.Three: numberString = "3"; break; case ButtonNumberType.Four: numberString = "4"; break; case ButtonNumberType.Five: numberString = "5"; break; case ButtonNumberType.Six: numberString = "6"; break; case ButtonNumberType.Seven: numberString = "7"; break; case ButtonNumberType.Eight: numberString = "8"; break; case ButtonNumberType.Nine: numberString = "9"; break; case ButtonNumberType.Dot: if (numberClass.StringValue == "0") { numberClass.StringValue += "0."; } if (numberClass.StringValue.Contains(".")) { return; } else { numberString = "."; } break; default: Debug.Assert(false, "Fiks det"); break; } switch (operatorState) { case OperatorState.None: if (numberClass.StringValue == "0" || Math.Abs(numberClass.NumberValue) < 0) { return; } numberClass.StringValue += numberString; break; case OperatorState.Single: numberClass.StringValue = numberString; break; case OperatorState.Double: numberClass.PreviousValue = numberClass.NumberValue; numberClass.StringValue = numberString; break; default: Debug.Assert(false, "Fiks det"); break; } operatorState = OperatorState.None; UpdateDisplay(); }
private void NumberPressed(ButtonNumberType numberType) { string numberString = ""; switch (numberType) { case ButtonNumberType.Zero: numberString = "0"; break; case ButtonNumberType.One: numberString = "1"; break; case ButtonNumberType.Two: numberString = "2"; break; case ButtonNumberType.Three: numberString = "3"; break; case ButtonNumberType.Four: numberString = "4"; break; case ButtonNumberType.Five: numberString = "5"; break; case ButtonNumberType.Six: numberString = "6"; break; case ButtonNumberType.Seven: numberString = "7"; break; case ButtonNumberType.Eight: numberString = "8"; break; case ButtonNumberType.Nine: numberString = "9"; break; case ButtonNumberType.Dot: if (displayNumber.StringValue.Contains(",")) { return; } numberString = ","; break; default: Debug.Assert(false, "Fiks det"); break; } if (operatorState == OperatorState.Double) { previousNumber = displayNumber.NumberValue; displayNumber.StringValue = numberString; } else if (operatorState == OperatorState.Single) { displayNumber.StringValue = numberString; } else { if (displayNumber.StringValue == "0" && numberString == "0") { return; } displayNumber.StringValue += numberString; } operatorState = OperatorState.None; UpdateDisplay(); }