C#写简单的计算器
Form1.cs 代码如下:
using System;
using System.Windows.Forms;
namespace WindowsCal
{
public partial class Form1 : Form
{
public string Operator;
public double Result;
public bool isFirstNum;
public Form1()
{
InitializeComponent();
isFirstNum = false;
}
private void btnNumber_Click(object sender, EventArgs e)
{
if(this.txtNumber.Text == "0")
{
this.txtNumber.Text = "";
}
Button btn = sender as Button;
if (isFirstNum)
{
this.txtNumber.Text = btn.Text;
isFirstNum = false;
}
else
this.txtNumber.Text += btn.Text;
}
private void btnDel_Click(object sender, EventArgs e)
{
if (this.txtNumber.Text == "0") return;
string res = this.txtNumber.Text;
if (res.Length != 1)
this.txtNumber.Text = res.Substring(0, res.Length - 1);
else
this.txtNumber.Text = "0";
}
private void btnEqu_Click(object sender, EventArgs e)
{
//if (this.txtNumber.Text == "0") return;
double number = Convert.ToDouble(this.txtNumber.Text);
switch(Operator)
{
case "+":
Result += number;
break;
case "-":
Result -= number;
break;
case "×":
Result *= number;
break;
case "÷":
if (number == 0)
{
txtNumber.Text = "除数不能为0";
isFirstNum = true;
return;
}
else
{
Result /= number;
}
break;
default:
Result = number;
break;
}
this.txtNumber.Text = Result.ToString();
isFirstNum = true;
Operator = "";
}
private void btnOperator_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
Operator = btn.Text;
//if (this.txtNumber.Text == "0")
// return;
Result = Convert.ToDouble(this.txtNumber.Text);
isFirstNum = true;
}
private void btnZero_Click(object sender, EventArgs e)
{
this.txtNumber.Text = "0";
}
private void btnDot_Click(object sender, EventArgs e)
{
if (this.txtNumber.Text.IndexOf('.') == -1)
this.txtNumber.Text += ".";
else
return;
}
}
}
开发界面写起来挺简单的。
界面如下: