计算器案例
设计计算器界面
两个textbox负责显示输入输出的数据
十八个按钮负责输入数据
进入窗体代码界面设置属性
private void Form1_Load(object sender, EventArgs e)
{
this.CenterToParent();//设置窗体在屏幕上居中显示
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;//设置边框的样式
textBox1.ReadOnly = true;//设置textBox1为只读属性
textBox2.TabIndex = 0;//将光标设置在textbox2中
}
开始定义我们需要的变量
//定义两个double类型的变量
//第一个变量是当运算符输入以后输入下一个数字的时候,把第一个储存起来
double num1 = 0;//double num1;这样表示也可以
double num2 = 0;//double num2;这样表示也可以
//使用这个type变量用来记录按下的运算符号
string type = "0";//string type;这样表示也可以
//定义一个bool类型,判断上一次输入的是否是运算符
bool iscalc = false;//开始定义为false,,不是运算符
添加所有的按钮对应的点击事件
//以下代码对1,2,3,4,5,6,7,8,9,0,.都实用.只需要修改一下button?即可
private void button1_Click(object sender, EventArgs e)
{
if (iscalc==true)//判断上一次是否运算符
{
iscalc = false;//开始定义为false,直到按下运算符按钮以后变为true,在按数字进入if,然后在if中将textbox1的内容清空,在变为Flase,不再一次按运算符的话,那就无法进入if了
textBox1.Text = "";//如果是运算符的话那就把textbox1中的内容清空
}
//下面加号的作用不是相加 而是为了将字符串连接起来比如15就是1+5 不是相加的作用
textBox1.Text += button1.Text;
textBox2.Text += button1.Text;
}
//以下代码对+,-,*,/,%都实用,只需要修改一下button?即可
private void button12_Click(object sender, EventArgs e)
{
type = button12.Text;//定义的变量为×
iscalc = true;//表示上一次输入的是运算符
num1 = double.Parse(textBox1.Text);//在按下运算符以前将textbox1中的文本内容储存在num1中,(类型转换)
textBox2.Text +=type;//记录完以后,在textbox2还要将第一个数字和运算符链接(拼接)起来,显示运算过程
}
//=负责进行最后的总运算
private void button14_Click(object sender, EventArgs e)
{
num2 = double.Parse(textBox1.Text);//获取第二次textbox1的内容储存在num2中
if (type=="×")//当按下的按钮为×时,判断type是×时
{
textBox1.Text = (num1 * num2).ToString();//则第一次储存的num1和第二次储存的num2进行相乘并放在textbox1中,显示
}
if (type == "÷")
{
textBox1.Text = (num1 / num2).ToString();
}
if (type == "+")
{
textBox1.Text = (num1 + num2).ToString();
}
if (type == "-")
{
textBox1.Text = (num1 - num2).ToString();
}
if (type == "%")
{
textBox1.Text = (num1 % num2).ToString();
}
textBox2.Text += "=" + textBox1.Text;//在textbox2中显示整个运算过程式子
}
//清零
private void button15_Click(object sender, EventArgs e)
{
//按下清零按钮以后,将textbox1和2中的数字过程全部消除.
textBox1.Text = "";
textBox2.Text = "";
}