任务:使用Visual Studio制作一个简易计算器。
目录
1.新建项目、选择模板、命名
筛选模板C#、Windows、桌面,选择Windows窗体应用(.NET Framework)。(使用过的模板会有记录,方便再次使用)
命名,选择保存位置。(最好新建文件夹,方便查找)。
进入界面:
2.拖动控件
这里最大的优势就是可以直接选择控件进行拖动,后台会自动写好代码,方便太多了。
Button为按钮。
双击界面可查看代码:
点击单个控件,右下角可修改其具体属性。
TextBox为显示数据的地方。
注:常用测试语句
点击Button1,写入代码
MessageBox.Show("1");
启动后,点击Button1,可弹出窗口,显示“1”。
3.修改名称、调整位置
右下角属性中,Text,可修改控件的名称。
调整位置。
4.写代码:定义变量
定义第一个数,第二个数及结果。
double LeftNumber, RightNumber, Result; //定义第一个数、第二个数、结果
string Operator = ""; //运算符
5.写代码:点击数字按钮事件
例如,点击按钮“1”,文本框内数字+1。
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1"; //文本框显示
}
6.写代码:点击运算符按钮事件
例如,点击“+”时,将文本框中的数转换为double并赋值给LeftNumber。
private void button11_Click(object sender, EventArgs e) //+
{
LeftNumber = Convert.ToDouble(textBox1.Text); //转换为double类型
Operator = "+"; //运算符
textBox1.Text = ""; //文本框清空
}
7.写代码:点击“=”按钮事件
等于即将存储的LeftNumber、运算符、RightNumber进行运算。
private void button15_Click(object sender, EventArgs e) //=
{
RightNumber = Convert.ToDouble(textBox1.Text); //第二个数转换为double类型
switch (Operator) //选择运算符
{
case "+":
Result = LeftNumber + RightNumber;
break;
case "-":
Result = LeftNumber - RightNumber;
break;
case "*":
Result = LeftNumber * RightNumber;
break;
case "/":
Result = LeftNumber / RightNumber;
break;
}
textBox1.Text = Result.ToString(); //转换为double类型
}
8.写代码:点击“C”按钮事件
清空文本框。
private void button17_Click(object sender, EventArgs e) //C
{
textBox1.Text = ""; //清空
}
结果
源代码
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
{
public Form1()
{
InitializeComponent();
}
double LeftNumber, RightNumber, Result; //定义第一个数、第二个数、结果
string Operator = ""; //运算符
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1";
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += "2";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += "3";
}
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text += "4";
}
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += "5";
}
private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += "6";
}
private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += "7";
}
private void button8_Click(object sender, EventArgs e)
{
textBox1.Text += "8";
}
private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += "9";
}
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text += "0";
}
private void button16_Click(object sender, EventArgs e)
{
textBox1.Text += "."; //小数点
}
private void button11_Click(object sender, EventArgs e) //+
{
LeftNumber = Convert.ToDouble(textBox1.Text); //转换为double类型
Operator = "+"; //运算符
textBox1.Text = ""; //文本框清空
}
private void button12_Click(object sender, EventArgs e) //-
{
LeftNumber = Convert.ToDouble(textBox1.Text); //转换为double类型
Operator = "-"; //运算符
textBox1.Text = ""; //文本框清空
}
private void button13_Click(object sender, EventArgs e) //×
{
LeftNumber = Convert.ToDouble(textBox1.Text); //转换为double类型
Operator = "*"; //运算符
textBox1.Text = ""; //文本框清空
}
private void button14_Click(object sender, EventArgs e) //÷
{
LeftNumber = Convert.ToDouble(textBox1.Text); //转换为double类型
Operator = "/"; //运算符
textBox1.Text = ""; //文本框清空
}
private void button15_Click(object sender, EventArgs e) //=
{
RightNumber = Convert.ToDouble(textBox1.Text); //第二个数转换为double类型
switch (Operator) //选择运算符
{
case "+":
Result = LeftNumber + RightNumber;
break;
case "-":
Result = LeftNumber - RightNumber;
break;
case "*":
Result = LeftNumber * RightNumber;
break;
case "/":
Result = LeftNumber / RightNumber;
break;
}
textBox1.Text = Result.ToString(); //转换为double类型
}
private void button17_Click(object sender, EventArgs e) //C
{
textBox1.Text = ""; //清空
}
}
}
总结
比之前用Java做计算器简单太多了,但是这此只是个简单实验,没有考虑除零之类的其他问题。