/// <summary> /// + - * / 按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAdd_Click(object sender, EventArgs e) { if (txtShow.Text != "") { oper = OperationFactory.createOperate(((Button)sender).Text); oper.NumberA = Convert.ToDouble(txtShow.Text); bOperate = true; } }
/// <summary> /// 0-9 和 . 的按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button0_Click(object sender, EventArgs e) { if (bOperate) { txtShow.Text = ""; bOperate = false; } string number = ((Button)sender).Text; txtShow.Text = OperationObjects.checkNumberInput(txtShow.Text, number); }
public static OperationObjects createOperate(string operate) { OperationObjects oper = null; switch (operate) { case "+": { oper = new OperationAdd(); break; } case "-": { oper = new OperationSub(); break; } case "*": { oper = new OperationMul(); break; } case "/": { oper = new OperationDiv(); break; } case "sqr": { oper = new OperationSqr(); break; } case "sqrt": { oper = new OperationSqrt(); break; } case "+/-": { oper = new OperationReverse(); break; } } return(oper); }
/// <summary> /// =、sqr、sqrt、+/- 按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonEqual_Click(object sender, EventArgs e) { if (txtShow.Text != "") { if (((Button)sender).Text != "=") { oper = OperationFactory.createOperate(((Button)sender).Text); } oper.NumberB = Convert.ToDouble(txtShow.Text); txtShow.Text = oper.GetResult().ToString(); bOperate = true; } }