利用Visual Stdio编写一个简易计算器 (C#)
在本篇中,我们将学习如何构造一个简易的计算器,并且简单利用C#简单编程,先放张高端的图。
一、环境安装
打开Visual Studio Installer,这里我们需要下载 .NET桌面开发,选择好安装位置,等待几分钟完成即可。
之后开始新建项目,选择C# --> Windows --> 桌面,找到Windows窗体应用按流程选择存储位置、文件名称就完成项目的创建了。
打开之后就是这样的:界面的左边我通常是习惯于放置工具箱,工具箱可以在视图里找到。
二、组件添加:
那么接下来我们可以将需要的组件从工具箱拖拽到界面中,这里我们用到的有:Button、TextBox,之后根据需要我们可以右击组件打开其属性面板,在这里改变其大小、文本等属性,如按钮名可以从“Button1”改成“+”,“÷” 等等,。
添加完基本元素后就得到了一个简易的计算器,当然现在并不能进行操作,之后也可以添加更多有趣的元素。
这里是我创建的计算器,其中TextBox组件我改变了大小,以及锁定了“Enter”键,防止输入数字时会换行,另外里面加入了两个Label组件,一个当表情 (๑•̀ㅂ•́)و✧用,另一个命名为label3,先隐藏处理了,其作用在文章后问题③会给出。
三、功能赋予
这一环境就是编程了,双击组件就可以看到代码页面,下面我们尝试给按键 ‘1’ 编程,这里我们要求的功能是,按下1时,文本就会出现1;而如果对按键 ‘+’、按键 ‘=’ 编程的话,相应的代码就会不同,现在先给出基本的代码(如下图:)
要完成这些操作,我认为关键的就是记录左右的数字以及判断进行的是什么操作,所以我首先在全局建立了代表左右数字和结果的变量,同时增加了flag变量来进行判断:
Double leftnum, rightnum;
Double result;
int flag;
这些按键代码完成之后,一个简易的计算器算是可以使用了,但是显而易见存在许多缺陷:
①清零操作如何实现?
②如何防止输入时出现换行情况(即禁用Enter键 )?
③输入时万一不小心走神怎么知道前面干了什么?
④错误操作怎么判断并改正?如“1+=”、“.=”、"123="等等语句。
……………………
这里我对前四个问题做出了解决, (๑•̀ㅂ•́)و✧虽然不一定对,哈哈,更多的问题希望可以一起探讨,完整代码如下:
namespace Counter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Double leftnum, rightnum;
Double result;
int flag=0;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.button1.Focus();
}
}
private void button1_Click_1(object sender, EventArgs e)
{
if (label3.Text == "error")
label3.Text = "";
textBox1.Text += "1";
label3.Text += "1";
}
private void button2_Click