本周老师带着我们学习了C#,之前在看到C#的设计界面后,我就放弃了其他的语言,这跟其他语言相比设计界面要简单一点,直接拖拽就可以使用按钮和其他控件,还有老师带领,而且我Java用的也不是很熟练,就当是认识一种新语言了。
但是在老师详细讲解之前我不知道为什么就选择了下载2013版本的,打开之后我就懵了,这一版本的和2019版本的不太一样,我都找不到工具箱里面的内容和设计窗口在哪里,出现了一系列的问题,于是在上网查询依然无果之后,就将2013版本的卸载了,重新下载2019版本的,然而在下载过程中由于【工作负载】那一块下载的不够,又经历了各种问题,之后终于正常了,可以开始我的计算器了。
在创建新项目时,选择这些:
工具箱:Button 按钮;TextBox 文本框;Lable 标签。
在创建按钮时可以修改Text和Name,便于查找。也可以修改字体和颜色。
下面是计算器的代码,考虑到了除数为0 的情况。
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 i, j, k;
string flag;
private void button1_Click(object sender, EventArgs e)
{
// MessageBox.Show("1");
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 buttonequal_Click(object sender, EventArgs e)
{
j =Convert.ToDouble( textBox1.Text);
switch (flag)
{
case "+":
k = i + j;
textBox1.Text = k.ToString();
break;
case "-":;
k = i - j;
textBox1.Text = k.ToString();
break;
case "*":
k = i * j;
textBox1.Text = k.ToString();
break;
case "/":
if (j == 0)
textBox1.Text = "除数不能为0";
else
{
k = i / j;
textBox1.Text = k.ToString();
}
break;
default:
break;
}
}
private void buttonsub_Click(object sender, EventArgs e)
{
i = Convert.ToDouble(textBox1.Text);
textBox1.Text = "";
flag = "-";
}
private void buttonmul_Click(object sender, EventArgs e)
{
i = Convert.ToDouble(textBox1.Text);
textBox1.Text = "";
flag = "*";
}
private void buttondiv_Click(object sender, EventArgs e)
{
i = Convert.ToDouble(textBox1.Text);
textBox1.Text = "";
flag = "/";
}
private void buttonC_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
private void buttonX_Click(object sender, EventArgs e)
{
i = Convert.ToDouble(textBox1.Text);
if (i == 0)
textBox1.Text = "除数不能为0";
else
{
k = 1 / i;
textBox1.Text = k.ToString();
}
}
private void buttonpoint_Click(object sender, EventArgs e)
{
textBox1.Text += ".";
}
private void buttonadd_Click(object sender, EventArgs e) //按下+
{
i =Convert.ToDouble(textBox1.Text);
textBox1.Text = "";
flag = "+" ;
}
}
}
界面:
(1)实验:12+3=15;
(2)当输入12/0时,提示“除数不能为0”。
(3)当计算1/x时,若输入的为0,则提示“除数不能为0”.
其他正常情况经过测试均正常,这里不再进行展示。