窗体设计
新建C#窗体项目,视图(快捷键V)——>工具箱(X)点击button公共控件,拉出一个大小合适的按钮,然后ctrl+c and ctrl+v复制共20个按钮;
点击TextBox控件,拉出两个显示屏;
点击button在Backgroundimage插入符号图片,BackgroundImageLayout选择Zoom(记得清空Text)
或在Text修改button显示名称;
计算思路
用四个变量进行顺序运算,两个double类型(一个记录中间运算结果,一个输出结果),一个bool类型(判断是否需要进行运算),一个string类型(记录运算符)
代码实现
namespace 计算器
{
public partial class Form1 : Form
{
double a=0;
double b=0;
bool c=false;
string d="";
//定义上述四个变量
private void button13_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "1";
}
// 按钮1的功能实现,在textBox1.Text中输出1 ,1——9的按钮依此类推
private void button2_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += "0";
if (d == "/")
{
textBox1.Clear();
MessageBox.Show("除数不能为零", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
//按钮0的功能实现,若上个存储的运算符为"/",则报错
private void button18_Click(object sender, EventArgs e)
{
if (c == true)
{
textBox1.Text = "";
c = false;
}
textBox1.Text += ".";
}
//小数点的代码实现
private void button8_Click(object sender, EventArgs e)
{
if (d == "" && b == 0)
{
c = true;
b = double.Parse(textBox1.Text);
d = "*";
textBox2.Text = textBox1.Text + d;
textBox1.Text = "";
}
else
{
switch (d)
{
case "+": a = b + double.Parse(textBox1.Text); break;
case "-": a = b - double.Parse(textBox1.Text); break;
case "*": a = b * double.Parse(textBox1.Text); break;
case "/": a = b / double.Parse(textBox1.Text); break;
}
b = a;
c = true;
d = "*";
textBox2.Text = textBox2.Text + textBox1.Text + d;
textBox1.Text = "";
}
}
//乘法的代码实现,其实加减乘除的代码都类似,可相互类推。
private void button1_Click(object sender, EventArgs e)
{
switch (d)
{
case "+": a = b + double.Parse(textBox1.Text); break;
case "-": a = b - double.Parse(textBox1.Text); break;
case "*": a = b * double.Parse(textBox1.Text); break;
case "/": a = b / double.Parse(textBox1.Text); break;
}
textBox2.Text = Convert.ToString(a);
c = true;
d &