一、打开vs2013,选择新建→项目→Windows窗体应用程序
二、对窗体进行设计,添加响应的按钮等部件,可修改各部件参数(重新打开文件,可通过视图→设计器,打开窗体的设计器界面)
三、功能说明
1.加减乘除运算
2.十进制转二进制,十进制转十六进制
3.“与”和“或”的位运算
4.平方和开方运算
5.ANS能存储上一次的运算结果,CE清除Text内容,AC清除所有数据
四、双击部件进行代码编辑,以下是计算器的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Calculator
{
public partial class Form1 : Form
{
private double num1=0;//第一操作数
private double num2;//第二操作数
private string sign;//运算符号
private double num3;//结果
private bool check=true;//检测是否为第一操作数
private double ans = 0;//存储上一次计算的结果
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (check==true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button3_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button4_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button5_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button6_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button7_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button8_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button9_Click(object sender, EventArgs e)
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
private void button10_Click(object sender, EventArgs e)
{
if(textBox1.Text != "")
{
if(check==true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else if (check == false)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
}
private void button12_Click(object sender, EventArgs e)//加法
{
sign = "+";
textBox1.Text = "";
check = false;
}
private void button13_Click(object sender, EventArgs e)//减法
{
sign = "-";
textBox1.Text = "";
check = false;
}
private void button14_Click(object sender, EventArgs e)//乘法
{
sign = "*";
textBox1.Text = "";
check = false;
}
private void button15_Click(object sender, EventArgs e)//除法
{
sign= "/";
textBox1.Text = "";
check = false;
}
private void button23_Click(object sender, EventArgs e)//与运算
{
sign = "&";
textBox1.Text = "";
check = false;
}
private void button24_Click(object sender, EventArgs e)//或运算
{
sign = "|";
textBox1.Text = "";
check = false;
}
private void button25_Click(object sender, EventArgs e)//平方
{
sign = "pow";
textBox1.Text = "";
check = false;
}
private void button26_Click(object sender, EventArgs e)//开方
{
sign = "sqrt";
textBox1.Text = "";
check = false;
}
private void button16_Click(object sender, EventArgs e)//等于号
{
check = true;
switch (sign)
{
case"+":
num3 = num1 + num2;
break;
case"-":
num3 = num1 - num2;
break;
case"*":
num3 = num1 * num2;
break;
case"/":
num3=num1/num2;
break;
case"&":
num3 = (int)num1 & (int)num2;
break;
case"|":
num3 = (int)num1 | (int)num2;
break;
case "pow":
num3 = Math.Pow(num1,2);
break;
case "sqrt":
num3 = Math.Sqrt(num1);
break;
}
num1 = num3;
ans = num1;
textBox1.Text = num3.ToString();
}
private void button17_Click(object sender, EventArgs e)//清除所有的数据
{
textBox1.Text = "";
num1 = 0;
num2 = 0;
num3 = 0;
ans = 0;
}
private void button22_Click(object sender, EventArgs e)//清除当前的数据
{
textBox1.Text = "";
num1 = 0;
num2 = 0;
num3 = 0;
}
private void button11_Click(object sender, EventArgs e)//小数点
{
if (textBox1.Text != "")
{
if (check == true)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num1 = double.Parse(textBox1.Text);
}
else if (check == false)
{
Button b = (Button)sender;
textBox1.Text += b.Text;
num2 = double.Parse(textBox1.Text);
}
}
}
private void button18_Click(object sender, EventArgs e)
{
int a = int.Parse(textBox1.Text);
textBox1.Text = Convert.ToString(a, 2);
}
private void button19_Click(object sender, EventArgs e)
{
int a = int.Parse(textBox1.Text);
textBox1.Text = Convert.ToString(a, 16);
}
private void button21_Click(object sender, EventArgs e)
{
textBox1.Text = ans.ToString();
if(check==true)
{
num1 = ans;
}
else
{
num2 = ans;
}
}
private void button20_Click(object sender, EventArgs e)
{
textBox1.Text = " ㄟ(▔皿▔ㄟ)";
}
}
}