一、新建项目
打开VS,新建windowsform窗体应用程序项目。
二、布局
更改控件Text;更改数字按钮Name分别为:button0——button9,运算符号Name分别为:buttonjia、buttonjian、buttoncheng、buttonchu,delete按钮Name为buttondelete,clear按钮Name为buttonclear,点按钮Name为buttondian,等于号Name为buttondengyu;更改文本框Name为textBox。
三、添加后台代码
打开form后台代码,添加各个事件处理器:
数字按钮事件处理器:
private void digitAction(object sender, EventArgs e)
{
Button btn = sender as Button;
if (textBox.Text == "0")
{
textBox.Text = btn.Text;
}
else
{
textBox.Text += btn.Text;
}
}
运算按钮事件处理器:
private void actionyunsuan(object sender, EventArgs e)
{
Button btn = sender as Button;
num1 = double.Parse(textBox.Text);
operate = char.Parse(btn.Text);
textBox.Text = "";
}
等于按钮事件处理器:
private void actiondengyu(object sender, EventArgs e)
{
num2 = double.Parse(textBox.Text);
switch (operate)
{
case '+':
result = num1 + num2;break;
case '-':
result = num1 - num2; break;
case '*':
result = num1 * num2; break;
case '/':
if (num2 != 0)
{
result = num1 / num2;
}
else
{
MessageBox.Show("被除数不能为0");
}
break;
default:break;
}
textBox.Text = result.ToString();
}
点按钮事件处理器:
private void actiondian(object sender, EventArgs e)
{
if (!textBox.Text.Contains("."))
{
if (textBox.Text != "")
{
textBox.Text += (sender as Button).Text;
}
else
{
textBox.Text = "0.";
}
}
}
delete按钮事件处理器:
private void actiondelete(object sender, EventArgs e)
{
string str = textBox.Text;
if (str != "")
{
str = str.Substring(0, str.Length - 1);
}
textBox.Text = str;
}
clear按钮事件处理器:
private void actionclear(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;
result = 0;
operate = ' ';
textBox.Text = "";
}
事件绑定:
public Form1()
{
InitializeComponent();
this.button0.Click += digitAction;
this.button1.Click += digitAction;
this.button2.Click += digitAction;
this.button3.Click += digitAction;
this.button4.Click += digitAction;
this.button5.Click += digitAction;
this.button6.Click += digitAction;
this.button7.Click += digitAction;
this.button8.Click += digitAction;
this.button9.Click += digitAction;
this.buttonjia.Click += actionyunsuan;
this.buttonjian.Click += actionyunsuan;
this.buttoncheng.Click += actionyunsuan;
this.buttonchu.Click += actionyunsuan;
this.buttondengyu.Click += actiondengyu;
this.buttonclear.Click += actionclear;
this.buttondelete.Click += actiondelete;
this.buttondian.Click += actiondian;
}
四、运行
点击启动或直接运行不调试,运行程序。