C#编程案例:迷你计算器 (3) 最简单的实现

上一节我们完成了迷你计算器的界面设计,这节我们开始用最简单的方式来实现我们预期的功能。

为什么说是最简单呢?因为还有比较复杂的方式,需要额外展开很多知识点。对初学者我不想一下展开那么多内容,能够最快的看到效果,增强学习信心,我觉得才是现阶段的核心。

我们先来看下界面,看看还需要做哪些处理。

依据这个数学模型:

x □ y = ?

我们的设想是两个输入框分别输入x和y值,中间的下拉框选择 加减乘除 四个符号中的一个,然后点 = 按钮,后面就出结果了。

所以接下来的任务:

添加下拉框选项

直接上图

鼠标点击下拉框,然后点上面的小箭头,弹出的小框框点“编辑项”,然后把对应计算的 +、-、*、/ 每行一个输入进去,再点确定就好了。

然后运行一下程序我们就能看到下拉框已经有值了。当然这种方式肯定不是最好的,但是最简单有效的。更优雅的方式等我们以后专门讲下拉框控件的时候再展开。

为按钮添加点击事件响应

为控件添加事件响应的基本流程,我们在之前的 案例导航 中已经介绍过了。这个操作以后会经常用到,大家需要熟练运用。这里再最后动图演示一次,以后就直接截图了。

鼠标点击=按钮,切换到事件栏目,选择Click(点击)事件,双击自动生成代码。

对按钮点击事件,VS还有一种快捷的方式,就是直接在按钮上双击,就自动生成代码了。已经生成过的,会自动定位。

另外这里再补充一个好习惯,就是只要对代码有了新的操作,随手按下Ctrl+S键,随时改变,随时保存。

计算并输出结果

这一步是这个小程序的最出成果的地方了。可以说我们之前的所有准备都是为了这一步的实现。当然对初学者来说,可能也会有很多知识点需要消化。

第一步,我们需要获取控件内容。

首先是输入框。我们根据上一节为控件的命名,输入框为tbxX和tbxY。

当你在代码编辑器中敲入tbx的时候,你会发现VS自动就弹出我们之前定义好的两个控件名了,用方向键选取,然后敲回车,就自动补全了。

这时,你再打一下.这个符号,会弹出所有tbxX这个控件支持的方法、属性等等

不用管它,继续键入Text。其实不用打全,打上一个t,第一个就是Text

同样是方向键选取,按回车。

上面我为了照顾初学者,讲的稍微琐碎了些,以后就直接虽说用哪个了。

这个Text,对应的就是我们输入的内容。至于为什么Text是而不是其他的,这个就说来话长了,对初学者没有必要掌握。控件的意义就在于,它已经把很多工作都封装好了,你作为使用者,不需要关心它是怎么工作的,你只需要知道它能提供什么接口、这些接口都是干嘛的就好了。

我们把鼠标移到这个Text单词上,VS会自动给出一个提示

第一个蓝色的string字符,代表的是它的数据类型为字符型。下面划线部分说明做这个Text的作用是什么:获取或设置这个控件关联的文本。

所以 tbxX.Text 就是我们输入的第一个值,同理 tbxY.Text就是我们输入的第二个值。再继续推理,代表输出结果的文本框输出文字就是 lblResult.Text。

=在编程中是把等式右边的值赋给左边的意思,我们暂时不考虑计算符号的问题,假设它们都是做加法。

那是不是说,我们写成这样的代码就可以了呢?

lblResult.Text = tbxX.Text + tbxY.Text;

编程就是有这点好处,不怕试错。做硬件的不小心就会把元器件烧了,软件无所谓,改坏了再改回来就好了。这样的代码我们先运行一下试试,看看能得到什么样的结果:

这个结果可以说是喜忧参半,喜的是上面三个值都能如实表达并且正常运行,忧的是结果不是应该等于2吗?怎么等于11了?

出现这个结果的原因,就涉及到了编程中基本的概念:数据类型。上面我提到过,输入框的Text是string类型,也就是字符串形式的。既然是字符串,你可以用常理来推测,字符a加上字符b会得到什么?是拼接字符ab对吧,那字符1加字符1,合起来就是11嘛。所以你要想让两个字符进行数学运算,首先要把这两个字符变成数字类型,对吧?编程也是这个道理,现实社会中的问题想明白了,编程也就明白了。

接下来,我们来改进代码,做类型转换。在C#编程中,有以下几种常用的基本类型(其他类型我们用到了再展开):

既然是1+1这种数字运算,那我们就先用整型来实现。我们分别声明名为x和y的变量,用来存储转换后的值,初始值均为0。代码如下:

int x = 0;
int y = 0;

那如何把字符型转换成整型呢?.Net类库为我们提供了 int.Parse的方法,可以把字符型转换成整型。代码如下:

x = int.Parse(tbxX.Text);
y = int.Parse(tbxY.Text);

这两行代码就是把tbxX.Text的字符型值转换成整型值,比如“1”变成1。

这样x+y应该就能得到正确的值了吧,我们直接把x + y赋值给lblResult.Text,发现代码编辑器出现了红线,这种就意味着编译错误,也就是语法写的不对。

我们看提示,大概就明白了,x和y都是整型,相加后得出的值也必然是整型,不同类型的变量是无法直接赋值的,而lblResult.Text是字符型,我们还需要把整型转换成字符型。很简单,用一个toString()的方法就搞定了。代码如下:

lblResult.Text = (x + y).ToString();

注意x+y要用()括起来,代表是两个数相加以后再转换成字符型;

ToString()是一个方法,括号不要忘了写,否则编译不过;

做完以上的内容,就可以编译通过了,我们再来看下效果:

我们尝试1+1,结果输出2;再尝试2+1,结果等于3,符合我们的预期。

但我们知道,现在只能做加法,下拉框的符号还没能生效,如何实现我们下节继续。

展开阅读全文

页面更新:2024-04-16

标签:控件   计算器   初学者   符号   字符   按钮   整型   案例   类型   事件   代码   方式

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top