using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 计算器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double num1, num2, result; //操作数及运算结果
bool decimalFlag = false; //判断是否为小数
string myOperator; //操作类型
private void NumClick(int myNumber)//单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中
{
if (decimalFlag)// 输入小数
{
txtreader.Text = txtreader.Text + myNumber;
}
else
{
if (txtreader.Text == "0.") // 输入整数
{
// 输入的是整数的第一个数字
txtreader.Text = myNumber + ".";
}
else
{
// 输入的不是整数的第一个数字
txtreader.Text = txtreader.Text.Substring
(0, txtreader.Text.Length - 1) + myNumber + ".";
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
txtreader.Text = "0.";
// 指定文本框的对齐方式为右对齐
//txtreader.TextAlign = HorizontalAlignment.Right;
}
private void btn7_Click(object sender, EventArgs e)
{
NumClick(7);
}
private void btn8_Click(object sender, EventArgs e)
{
NumClick(8);
}
private void btn9_Click(object sender, EventArgs e)
{
NumClick(9);
}
private void btn4_Click(object sender, EventArgs e)
{
NumClick(4);
}
private void btn5_Click(object sender, EventArgs e)
{
NumClick(5);
}
private void btn6_Click(object sender, EventArgs e)
{
NumClick(6);
}
private void btn1_Click(object sender, EventArgs e)
{
NumClick(1);
}
private void btn2_Click(object sender, EventArgs e)
{
NumClick(2);
}
private void btn3_Click(object sender, EventArgs e)
{
NumClick(3);
}
private void btn0_Click(object sender, EventArgs e)
{
NumClick(0);
}
private void button16_Click(object sender, EventArgs e)
{
decimalFlag = true;
}
private void button5_Click(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;
txtreader.Text = "0.";
decimalFlag = false;
}
private void button1_Click(object sender, EventArgs e)
{
myOperator = "add";
num1 = double.Parse(txtreader.Text);
txtreader.Text = "0.";
decimalFlag = false;
}
private void button2_Click(object sender, EventArgs e)
{
myOperator = "sub";
num1 = double.Parse(txtreader.Text);
txtreader.Text = "0.";
decimalFlag = false;
}
private void button3_Click(object sender, EventArgs e)
{
myOperator = "Mul";
num1 = double.Parse(txtreader.Text);
txtreader.Text = "0.";
decimalFlag = false;
}
private void button4_Click(object sender, EventArgs e)
{
myOperator = "Div";
num1 = double.Parse(txtreader.Text);
txtreader.Text = "0.";
decimalFlag = false;
}
private void button6_Click(object sender, EventArgs e)
{
num2 = double.Parse(txtreader.Text);
switch (myOperator)
{
case "add":
result = num1 + num2;
txtreader.Text = result.ToString();
break;
case "sub":
result = num1 - num2;
txtreader.Text = result.ToString();
break;
case "Mul":
result = num1 * num2;
txtreader.Text = result.ToString();
break;
case "Div":
if(num2==0)
{
txtreader.Text="除数不能为0";
}
else
{
result = num1 / num2;
txtreader.Text = result.ToString();
}
break;
}
}
}
}