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 WindowsFormsApplication1
{
public partial class 计算器 : Form
{
public 计算器()
{
InitializeComponent();
}
public string number;
public int OperationType;//适用于计算的类型,应用数字去控制算法
public double number1, number2;//number1后台存储, number2前台存储
public string Temp;//适用于复制储存中的数据
public double TempData = 0;//适用于M等操作的变量
//============================================================================
private void Number_0_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "0";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "0";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_1_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "1";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "1";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_2_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "2";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "2";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_3_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "3";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "3";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_4_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "4";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "4";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_5_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "5";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "5";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_6_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "6";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "6";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_7_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "7";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "7";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_8_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "8";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "8";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
private void Number_9_Click(object sender, EventArgs e)
{
if (TextBox.Text == "0")
{
number = "9";
TextBox.Text = Convert.ToString(number);
}
else
{
number = number + "9";
number2 = Convert.ToDouble(number);
TextBox.Text = number;
}
}
//=============================================================================
private void Add_Click(object sender, EventArgs e)
{
OperationType = 1;
if (TextBox.Text.Length > 0)
{
number1 = Convert.ToDouble(TextBox.Text);
number = "";
//OperationType = 1;
//TextBox.Text = "";
}
}
private void Subtration_Click(object sender, EventArgs e)
{
OperationType = 2;
if (TextBox.Text.Length > 0)
{
number1 = Convert.ToDouble(TextBox.Text);
number = "";
//OperationType = 2;
//TextBox.Text = "";
}
}
private void Multiplication_Click(object sender, EventArgs e)
{
OperationType = 3;
if (TextBox.Text.Length > 0)
{
number1 = Convert.ToDouble(TextBox.Text);
number = "";
//OperationType = 3;
//TextBox.Text = "";
}
}
private void Division_Click(object sender, EventArgs e)
{
OperationType = 4;
if (TextBox.Text.Length > 0)
{
number1 = Convert.ToDouble(TextBox.Text);
number = "";
//OperationType = 4;
//TextBox.Text = "";
}
}
private void Equal_Click(object sender, EventArgs e)
{
switch(OperationType)
{
case 1:
TextBox.Text = Convert.ToString(number1 + Convert.ToDouble(TextBox.Text));
number2 = Convert.ToDouble(TextBox.Text);
break;
case 2:
TextBox.Text = Convert.ToString(number1 - Convert.ToDouble(TextBox.Text));
number2 = Convert.ToDouble(TextBox.Text);
break;
case 3:
TextBox.Text = Convert.ToString(number1 * Convert.ToDouble(TextBox.Text));
number2 = Convert.ToDouble(TextBox.Text);
break;
case 4:
if (TextBox.Text == "0")
{
TextBox.Text = "0";
}
else
{
TextBox.Text = Convert.ToString(number1 / Convert.ToDouble(TextBox.Text));
number2 = Convert.ToDouble(TextBox.Text);
}
break;
}
number = "";
number1 = Convert.ToDouble(TextBox.Text);
}
//=============================================================================
private void Sqrt_Click(object sender, EventArgs e)
{
if (Convert.ToDouble(TextBox.Text) < 0)
{
TextBox.Text = "error";
}
else
{
number2 = Convert.ToDouble(TextBox.Text);
number = "";
TextBox.Text = Convert.ToString(System.Math.Sqrt(number2));//写成了一段代码
}
}
private void Reciprocal_Click(object sender, EventArgs e)
{
if (Convert.ToDouble(TextBox.Text) == 0)
{
this.TextBox.Text = "error";
}
else
{
number2 = Convert.ToDouble(TextBox.Text);
number = "";
TextBox.Text = Convert.ToString(1/number2);
}
}
private void Percent_Click(object sender, EventArgs e)
{
number = Convert.ToString(Convert.ToDouble(TextBox.Text) / 100);
TextBox.Text = number;
number = "";
}
//=============================================================================
private void Clear_Click(object sender, EventArgs e)
{
number = "";
TextBox.Text = "0";
}
private void Backspace_Click(object sender, EventArgs e)
{
if (TextBox.Text.Length < 2)
{
TextBox.Text = "0";
}
else
{
number = TextBox.Text.Substring(0, TextBox.Text.Length - 1);
TextBox.Text = number;
}
}
private void Opposide_Click(object sender, EventArgs e)
{
number1 = Convert.ToDouble(TextBox.Text);
TextBox.Text = Convert.ToString(0 - number1);
}
private void Spot_Click(object sender, EventArgs e)
{
try
{
Convert.ToDouble(TextBox.Text + ".");
TextBox.Text += ".";
number = TextBox.Text;
number2 = Convert.ToDouble(TextBox.Text);
}
catch
{
return;
// TextBox.Text = TextBox.Text.Substring(0, TextBox.Text.Length - 1);
}
}
//=============================================================================
private void MS_Click(object sender, EventArgs e)
{
TempData = Convert.ToDouble(TextBox.Text);
}
private void MR_Click(object sender, EventArgs e)
{
number=Convert.ToString(TempData);
TextBox.Text = Convert.ToString(number);
}
private void MC_Click(object sender, EventArgs e)
{
number = "";
TempData = 0;
}
private void Msubtration_Click(object sender, EventArgs e)
{
TextBox.Text = Convert.ToString(Convert.ToDouble(number1 = TempData - Convert.ToDouble(TextBox.Text)));
}
private void Madd_Click(object sender, EventArgs e)
{
TextBox.Text = Convert.ToString(Convert.ToDouble(number1 = TempData + Convert.ToDouble(TextBox.Text)));
}
//=============================================================================
private void 复制ToolStripMenuItem1_Click(object sender, EventArgs e)
{
Temp = TextBox.Text;
}
private void 粘贴ToolStripMenuItem1_Click(object sender, EventArgs e)
{
TextBox.Text = Temp;
}
private void 查看帮助ToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show("这是一个仿照windows的计算器应用程序");
}
private void 关于计算器ToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show("计算器---作者:陈林---联系方式QQ:772622524");
}
}
}
连加功能没做
大家多多指证!