有了分支语句呢,我们可以回答一个问题
就是上次有同学呢,在论坛里说了,我这个 标签,得用
Timer 控制它,这个标签从左向右
那我能不能呢,让它从右向左呢? 就遇到右边呢,再向左边。
这个大家 思考一下。
请看这个例子 那这就是我们做的一个屏保程序哦
这个程序呢,比较简单,它就是一个标签
呢,在那个屏幕上移动,但移动它有个特点呢,就是遇到边界 那它就会反方向运动。
那这个程序怎么做的呢? 请看这个程序
为了做出一个屏保程序,我们把窗体 设置成,背景呢设置成黑色
另外呢,这个窗体呢,让它最大化,WindowState
WindowState 是最大化 还有呢,我们再设置一些
属性呢,比如说没有边框显得呢,更 真实一点,所以我们要设置一个叫做
Form Border Style Form
Border S, Form Border Style 设成 None,就是没有边框,这几个是需要的
当然我们还需要一个 Timer,让这个呢标签呢在移动,标签呢文本呢我们要设置
设置一下,然后呢它的颜色呢也可以设置成,比如说这里设置成白颜色
当然也可以让它随时改变,我们上次学过了 这个程序呢,它的代码我们看一下
这个程序的代码呢,基本上还是像以前一样,在 Timer 的 Tick
时间里头啊 写上 Left+= 一个值,就它就
移动了,类似呢拓扑就上边,这个最顶端的位置 + 等于一个,那但是
+ 呢,它不能 + 等于一个常量 所以要 + 等于一个变量,这个变量呢,有可能是正,有可能是负
那么情况下变为正,什么情况下变为负呢?我们就这样写了 注意这里要定义一个变量。
程序在设计的时候,凡是你需要 存上一个值,那我们就得用一个变量,所以我们在这里呢
来定义,在前面呢定义那个变量,deltX 或 deltY。
好 那什么时候发生改变呢?我们看这
条语句,如果 labell.Left 小于了 0 那 deltX
那就等于负的 deltX,也就是跑到左边去了,就要反向了
或者呢,labell.Left 它的左边的位置加上 labell.
宽度 大于了 this.
width,这个 this 呢,指窗体自己啊
所以也就是它跑到右边了,这个左边位置加窗大于了它 那
deltX 就等于负的 deltX,类似的
这个 deltY 等于 -deltY,也是这样。
那这个程序呢,我们运行起来呢 它就是一个屏保的效果。
当然为了结束这个程序呢,所以我们还要对 Form 的 KeyDown 时间,Form
的 KeyDown 时间呢写了一种特殊语句 Application.Exit,就是程序结束的意思,所以这个还是好理解的
所以这就是一个屏保程序了,同学你可能要问了,这个屏保程序我怎么 把它让系统来运行呢,让系统真正地一个屏保啊?
那就是这样的,你把这个程序 编译生成了 exe
文件,把它复制到 windows/system32
这个目录下 然后你就可以了,当然要把这个文件名呢,改成
.scr Screen 啊,改成
s cr 文件,然后你就可以在桌面上点右键,能找到你这个屏保程序了
我建议大家试验一下,这就可以写出你自己的屏保程序了