这次实验课是学习可视化编程的入门,任务是完成一个简单的计算器
之前学Java的时候学习过可视化编程,可是当时觉得用Java写类似计算器的程序代码过于繁复,所以也没有学的太好,这次尝试跟着老师使用C#,果然比Java好上手的多。
首先是安装VS,根据安装包提示一点点安装就行,在工作负载那一栏选择安装了两样
之后等待安装成功后启动VS,在启动窗口新建一个Windows 窗体应用
进入初始界面后,从左边的工具箱中拖入按钮(Button)和文本框(Textbox),并给其命名:
随后为按钮动作添加指令,双击所选按钮后系统会自动生成一个相关函数:`
private void button1_Click(object sender, EventArgs e)
{
}
填入一行代码命令使当点击该按钮时在文本框显示对应数字
textBox1.Text += "1";
其他数字也依次操作
之后添加计算符号,等号以及归零的按钮
后续操作见完整代码,与上述操作基本相同:
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double Leftnum, Rightnum, Result;//记录两个运算数和结果
string Flag;//记录运算符号
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 button0_Click(object sender, EventArgs e)
{
textBox1.Text += "0";
}
private void buttonEquals_Click(object sender, EventArgs e)
{
Rightnum = Convert.ToDouble(textBox1.Text);
if (Flag == "+")//判断运算符号进行运算和输出
{
Result = Leftnum + Rightnum;
textBox1.Text = Result.ToString();
}
else if (Flag == "-")
{
Result = Leftnum - Rightnum;
textBox1.Text = Result.ToString();
}
else if (Flag == "×")
{
Result = Leftnum * Rightnum;
textBox1.Text = Result.ToString();
}
else if (Flag == "÷")
{
Result = Leftnum / Rightnum;
textBox1.Text = Result.ToString();
}
}
private void buttonAdd_Click(object sender, EventArgs e)//加法
{
Leftnum = Convert.ToDouble(textBox1.Text);
Flag = "+";
textBox1.Text = "";
}
private void buttonMinus_Click(object sender, EventArgs e)//减法
{
Leftnum = Convert.ToDouble(textBox1.Text);
Flag = "-";
textBox1.Text = "";
}
private void buttonTimes_Click(object sender, EventArgs e)//乘法
{
Leftnum = Convert.ToDouble(textBox1.Text);
Flag = "×";
textBox1.Text = "";
}
private void buttonDivided_Click(object sender, EventArgs e)//除法
{
Leftnum = Convert.ToDouble(textBox1.Text);
Flag = "÷";
textBox1.Text = "";
}
private void buttonAc_Click(object sender, EventArgs e)//归零操作
{
textBox1.Text = "";
}
}
}
本计算器仅支持加减乘除四则运算以及归零操作,进阶操作还未涉及