[音乐]
同学们好!本节课我们学习一下数字 调节控件的使用。
我们现在来到了开发环境下 先新建一个工程
叫 numupdown
先给大家看一下什么叫数字调节控件。
大家看 这个控件,这会可能大家还不知道什么东西啊,拉上来
再运行一下,大家看一看,上上增加增加增加
缩小缩小缩小,大家看到了没有?平时我们在因为使用别的软件的时候,可能会遇到一些
系统对话框上,我们在对话框上要设置一些属性,比方说设置一些数字这样的,经常会遇到- 这种东西
啊,这就叫数字调节控件,其实这个数字调节控件有点像
我们把一个文本编辑框和两个 小箭头组合起来的一个控件。
为什么会有这种 数字调节控件呢?因为如果 我们还是使用传统的文本
编辑框去输入数字的话,有时候可能不太符合这个 呃,软件开发者的这个原义。
因为呢,因为有时候我们要在这个,这样的文本文件框 中输入一定的数字,比方说我们要输入用户的年龄
呃,大家都知道人的年龄它的有效范围是比较窄的 比方说从
0 开始,最多可能就是 120、 130
左右,但是如果用户乱输或者 用户比方输错了,输入个
99999,那这种情况下 这个输入的这个值明显是非法的,所以说那个应用程序的
编写者呢就希望,如果能就在控件这一级就把这非法值就给它摒弃掉,那当然是最好的啦
此时我们这个数字,数字调节控件 就可以起到它的作用了。
为什么呢?咱们看一下这个数字调节
控件的相应的几个重要的属性,大家来看它的一些属性,它的几个
比较重要的属性,咱们先看这几个值,首先看它是 最大值、
最小值 有这两个值一定之后,我们再点两边这个箭头的时候,它的上、
下 范围就确定了,不能超出最大值,也不能小于最小值
还有一些特殊的属性,比方说这 看这个属性 Increment
就指示,每单击一下按钮时增加或减少的数量 呃,这目前的缺省值是
1 ,我就是点一下箭头它就加 1 ,或者减 1
ReadOnly 这个属性也相当重要,指示编辑框是不是只读的。
为什么对,对于这个 数字调节控件这个属性相当重要呢?因为大家注没注意到,我们这可以上、
下 走,因为它的最下最小值是 0 ,所以不能走下去了。
上可以往上走,但是比方说这个最大值是 100 如果你要用户这样点......点
100 下,用户肯定很烦躁了,因为太累了 此时可以让用户可以拿手去输,比方说输个
99 ,对吧? 啊,如果我强行要输多点,输
190 行不行? 大家有没有发现我输个 190
再一动的话它就,它就又变回来,因为它的上限 不是 100
嘛,变不了了,也就是说允许用户是否在这可以 直接输数字,输数字,就是刚才那个
让 ReadOnly 的 调节,因为有时候如果这个范围特别小,比方说输入个 0 到
5 呀等......或者是这个范围 绝对要保证自己的安全,你可以把它设成
ReadOnly 类,这样用户就只能在这边输入了,在这边就没法直接编辑了
当然我们可以,也可以调节一下别的一些参数
比方说刚刚这个增加值,比方说我们现在这个框,啊,显示的不再是人的年龄什么的,而是
我们去银行存款的利率,大家都知道银行存款的利率都是零点零几就是 百分之,比方说 2%、 3%
就应该换成小数就是 0.01、 0.02、 0.03 这样的 这样的话我们用这种增加值 1 就不太对了。
所以银行利率比方说咱们 设定它的有效范围,因为银行利率一般,一般是都会 大于
0 的,所以它的最小值是 0 ,然后它的最大值咱们就设定它是 1 ,就是最多是 100%
的利率 然后这儿呢,它的增加值我们设置成
每点一下,增一下,咱们都知道银行的利率,一般
来说都是百分之几点几几,那是不是我们大家算出来应该就是百分之
应该算是万分之一,对吧?应该是万分之一,所以我们这设成 0.00 01
这样子,但这样完了吗? 这还没有结束,啊,因为如果就这就这么设的话,大家看看会有什么样子啊?
一直不动,为什么啊?
因为咱们还少改了一个属性
是什么属性呢? [无声]
[无声]
就咱们还少改了一个属性,是哪一个属性呢?咱们还少改是这个属性,看!
只是要显示的小数位数。
咱默认只是只 是不显小数位数,因为这儿是 0 ,而咱们要银行的利率大家应该知道
是百分之几点几几,那么就是它最小单位是万,那它们万分之一 那咱们应该是设成
4 ,四位小数大概就比较合适了,就这个样子
那咱们现在来试一试,这样就比较合适了 啊,比较合适了
这样呢,这就相当于银行利率是 0.08% ,啊,如果我们需要
修改成,对,就这样改,改成 0.0125
好,现在我们再使用
这个控件来编写一个简单的程序,咱们刚才说过了这是银行利率 咱们先来算一算,呃,编一个简单的,帮助用户
计算它把一笔钱存到银行存定期,呃,然后反复,比方说每次都是存一年定期
存一年定期之后呢,然后取,连本带利再取出来再存
最后,若干年后能存储多少钱?本息合计是多少钱?那当然这个我们
肯定需要按,如果是每年这样的反复存的话呢,肯定是按复利计算的,单凭来做下这个 问题。
首先咱们要拖几个控件
比方说第一行我们要让用户输入本金
[无声]
本金
咱们于本金一般来说是稳定的,所以在这咱们的本金就
不用用这个数字调节控件了,咱们本金使用就是 TextBox
控件来文本编辑框 在这是放本金的啊,咱们给本金也设置一个默认值吧,比方说本金是一万
好了,呃,这儿呢我们设置一个
调节控件是利率,啊,咱们把这个改成个利率
[无声]
利率
咱们呢把这个调的整齐点啊,平齐一下,然后再下面 咱们再再加一个肯定就是
时间了,要存多长时间?
年数吧,咱们假设目前存钱都是
按一年一年来存的,调整齐点啊,利率,年数
年数咱们也用一个数字调节控件来,大概做一下啊 当然年数一般来说我们呃
0 到 100 ,咱们是设置它的范围是 1 到 100
吧 一般至少要存一年嘛,对不对?最小值 是 1
,对吧? 好!最后再给一个输出相当于是输出的地方叫
本息合计
[无声]
这个输出框也是一个文本 编辑框吧!
由于这个文本编辑框是存放输出结果的,
所以说咱们为了安全起见,就把它设成 readonly,用户不能随便去修改,
好,是这个。
好了,咱们现在就开始
给这个程序编写代码,咱们在编写代码的时候呢,就要注意,
呃,我们什么时候开始计算本息合计,然后放在这呢,把这个输出输到那里面。
呃,一般来说,银行的利率都是稳定的,而咱们这个需求是希望我们能看,让用户
能看到随着年份的增加,这个这个本息合计越来越多、 越来越多,是吧?
所以说,咱们要考虑到使用年数这个事件, 大家看,最常用的事件就是
ValueChanged 就是年数事件来变化,然后,咱们通过这个变化来计算它的
计算它的本息合计,当然这个公式,本息合计的公式是非常简单的。
呃,咱们就是利用一个 POWER 函数,MySQL POWER
函数就可以计算到,咱们先 计算一下啊。
先得到本金数额,因为本金数是 textbox1 ,它的
text 目前是一个文本类型的,咱们现在就要把这个文本类型的变量,
先转换成一个数字类型的变量。
咱们声明一个 这种高精度的这种数字类型的变量,本金
p 等于,把它转换
成数字类型的, 然后是
textbox1.
Text。
接下来我们的本金就得到了,现在我们要得到利率, 利率
r,同样的
咱们,咱们看一下利率,利率由于我们是使用这个 呃,数字调节控件的,它这个
value 值,其实就本身就是一个数字啦,所以说咱们可以直接
调用它这个 value, [无声]
updown1.
Value。
[无声]
好,现在就可以开始计算本息合计了。
[无声]
本息合计等于本金乘以
这中间要做一些强制类型转换,因为它们这些
相应的函数,它对参数的类型要求是比较严格的。
[无声] 然后,年份是
另外一个数字控件的 数字调节控件的
value,但是这个值因为又是个,这必须得 把它使当成年份,因为它是个整数嘛。
要把它强制性转换成一个整数,才能用 power
函数,咱们这个目前的年份 现在只适用于整数年份。
下面再把这个值,让它输出的是,
需要输出的本息合计的位置是,这个 textbox2
,要把它输出出去 等于
amount.
ToString。
大家注意我们这个函数,它是在
这个年份这个控件的 ValueChange
的这个 事件激发下,它才能开始计算的,所以说咱们要调试一下,
随便动一动,这个永远一直在不变,为什么呢? 当然很容易啊,因为我们这个利率没变,对吧,咱们现在把利息改一改
先把它设成 10 年吧,咱们看看通过利息的改变,这个本息合计能
变多少,一开始这个利率非常低的时候,估计没有什么变化。
咱们看一看啊,注意它的年份,咱们设一个咱们现在 的呃,现在银行的利率大概是 1.5 吧。
咱们就设成 0.015,好,咱们现在设计看年份是多少?
存十年,大概是一万一千六百零五 ,咱们要存
20 年呢? 一万三;存 100 年呢,四万多。
这个利息利率看来还蛮低的,但如果咱们把利率再 增加一些,比方说增到,不用增加特别多
增到百分之六吧,然后咱们看 100 年会增加多少?
唔,这是一个天文数字了,可见这个利率稍微改一点,100 年或者本息合计就差的
特别多啊,好了,本节课我们学习了数字调节控件的基本使用方法。
并通过一个实例来加深了理解,谢谢大家!
[无声]