using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string op;
double a, b;
Operat o = new Operat();
private void btn1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "1";
}
private void btn2_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "2";
}
private void btn3_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}textBox1.Text += "3";
}
private void btn4_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "4";
}
private void btn5_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "5";
}
private void btn6_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "6";
}
private void btn7_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "7";
}
private void btn8_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "8";
}
private void btn9_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "9";
}
private void btn0_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
textBox1.Text += "0";
}
private void btnDot_Click(object sender, EventArgs e)
{
string s = textBox1.Text;
if (s.IndexOf('.') > -1)
{
MessageBox.Show("已经包含小数点", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
textBox1.Text += ".";
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
if (op == "+" || op == "-" || op == "*" || op == "/")
{
op = "+";
}
else
{
op = "+";
a = double.Parse(textBox1.Text);
}
textBox1.Text = "";
}
private void btnSub_Click(object sender, EventArgs e)
{
if (op == "+" || op == "-" || op == "*" || op == "/")
{
op = "-";
}
else
{
op = "-";
a = double.Parse(textBox1.Text);
}
textBox1.Text = "";
}
private void btnMulti_Click(object sender, EventArgs e)
{
if (op == "+" || op == "-" || op == "*" || op == "/")
{
op = "*";
}
else
{
op = "*";
a = double.Parse(textBox1.Text);
}
textBox1.Text = "";
}
private void btnDiv_Click(object sender, EventArgs e)
{
if (op == "+" || op == "-" || op == "*" || op == "/")
{
op = "/";
}
else
{
op = "/";
a = double.Parse(textBox1.Text);
}
textBox1.Text = "";
}
private void btnResult_Click(object sender, EventArgs e)
{
b = double.Parse(textBox1.Text);
textBox1.Text = o.Operation(a, b, op).ToString();
}
private void btnClear_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
private void btnBackspace_Click(object sender, EventArgs e)
{
string sub = textBox1.Text;
textBox1.Text = sub.Substring(0, sub.Length - 1);
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (textBox1.Text == "0")
{
textBox1.Text = "";
}
if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
}
}
public class Operat
{
public Double Operation(double a, double b, string o)
{
double r = 0; ;
switch (o)
{
case "+":
r = a + b;
break;
case "-":
r = a - b;
break;
case "*":
r = a * b;
break;
case "/":
r = a / b;
break;
}
return r;
}
}
}