.NET技术_计算器的编写
1、设置图片中控件的相关属性

2、编写代码
本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量:
double num1, num2, result; // 操作艳央数及运算结果
bool decimalFlag; 裁宋 // 判断输入的是否为小数
string myOperator; // 操作类型
接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下:
public void NumClick(int myNumber)
{
if (decimalFlag) // 输入小数
{
txtReadout.Text =txtReadout.Text + myNumber;
}
else
{
if (txtReadout.Text =="0.") // 输入整数
{
// 输入的是整数的个位数字
txtReadout.Text =myNumber + ".";
}
else
{
// 输入的不是整数的个位数字
txtReadout.Text =txtReadout.Text.Substring
0,txtReadout.Text.Length - 1) + myNumber + ".";
}
}
}
编写窗体的载入事件代码如下:
private void Form1_Load(object sender, EventArgs e)
{
txtReadout.Text ="0.";
// 指定文本框的对齐方式为右对齐
txtReadout.TextAlign =HorizontalAlignment.Right;
}
编写数字按钮【0】~【9】的单击事件代码如下:
private void btnNum0_Click(object sender, EventArgs e)
{
NumClick(0);
}
private void btnNum1_Click(object sender, EventArgs e)
{
NumClick(1);
}
private void btnNum2_Click(object sender, EventArgs e)
{
NumClick(2);
}
private void btnNum3_Click(object sender, EventArgs e)
{
NumClick(3);
}
private void btnNum4_Click(object sender, EventArgs e)
{
NumClick(4);
}
private void btnNum5_Click(object sender, EventArgs e)
{
NumClick(5);
}
private void btnNum6_Click(object sender, EventArgs e)
{
NumClick(6);
}
private void btnNum7_Click(object sender, EventArgs e)
{
NumClick(7);
}
private void btnNum8_Click(object sender, EventArgs e)
{
NumClick(8);
}
private void btnNum9_Click(object sender, EventArgs e)
{
NumClick(9);
}
编写小数点按钮【.】的单击事件代码如下:
private void btnDot_Click(object sender, EventArgs e)
{
decimalFlag = true; //输入小数点
}
编写复位按钮【C】的单击事件代码如下:
private void btnC_Click(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;
txtReadout.Text ="0.";
}
编写【+】、【-】、【*】、【/】按钮的单击侧娃肥事件代码如下:
private void btnAdd_Click(object sender, EventArgs e)
{
myOperator ="add";
num1 = double.Parse(txtReadout.Text);
txtReadout.Text ="0.";
decimalFlag = false;
}
private void btnSub_Click(object sender, EventArgs e)
{
myOperator ="Sub";
num1 =double.Parse(txtReadout.Text);
txtReadout.Text ="0.";
decimalFlag = false;
}
private void btnMul_Click(object sender, EventArgs e)
{
myOperator ="Mul";
num1 =double.Parse(txtReadout.Text);
txtReadout.Text ="0.";
decimalFlag = false;
}
private void btnDiv_Click(object sender, EventArgs e)
{
myOperator ="Div";
num1 =double.Parse(txtReadout.Text);
txtReadout.Text ="0.";
decimalFlag = false;
}
最后编写【=】按钮的单击事件代码如下:
private void btnAmount_Click(object sender, EventArgs e)
{
num2 =double.Parse(txtReadout.Text);
switch (myOperator)
{
case "add":
result = num1 +num2;
txtReadout.Text =result.ToString();
break;
case "Sub":
result = num1 -num2;
txtReadout.Text =result.ToString();
break;
case "Mul":
result = num1 *num2;
txtReadout.Text =result.ToString();
break;
case "Div":
if (num2 == 0)
{
txtReadout.Text = "除数不能为“0”!";
}
else
{
result = num1/ num2;
txtReadout.Text = result.ToString();
}
break;
}
}
3、运行结果
运行程序,计算加法“23 + 1.8”

4、单击【C】按钮,再计算加法“2.3 - 18”

5、单击【C】按钮,再计算加法“2.3 × 1.8”

6、单击【C】按钮,再计算加法“23.18 ÷ 0”

7、单击【C】按钮,再计算加法“2.3 ÷ 1.8”
