一、打開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 = " ㄟ(▔皿▔ㄟ)";
}
}
}