下面再看一个例子,是两个相同的文本框。
好,我们看这个程序
这个程序呢我在第一个文本框里面输入文字,那它在第二个文本框里头呢
也显示出来了,那这种情况呢,其实我们在 日常这个使用的软件的时候也经常看见。
比如说 我在这个 Power Point 里头,然后我在左边或者右边
我在输入的时候 那你会发现呢,右边这个输入呢
它的左边也同时显示出了,那它这是怎么实现的呢? 那这个功能在
C# 里头是怎么实现的呢? 首先我们设计一个程序呢,先在窗体上有两个
有两个本文框控件,我们把它 Text Box
把它拖过来,就是这样,然后呢我们要考虑 写程序呢,它基本上就是对象的属性、
方法和事件 那我们就要考虑呢,是哪个对象发生了事件呢?这里就是
这个文本框,我们在输入文本发生了事件,那当然这个事件很多,但是我们要选取哪个事件呢?
我们可以从属性,点这个闪电状这个按钮,然后找到这个事件 但这个事件呢有文本的、 有鼠标的、
有键盘的,这里呢 我们找到一个叫作 TextChanged
的,就文本改编的事件,那这个事件呢 它是高于鼠标和键盘,因为它有可能鼠标
粘贴,也有可能呢是键盘按下去,总的来说呢这个事件发生以后
我们要写的代码,那我们就写了,写到这个地方。
那这个 发生了以后要做什么事情呢?就是第二个文本框里面的文本 等于第一个文本框里的文本。
这样的话我们 就把第一个文本框所输入的任何文本呢
就让它也同时呢复制到第二个文本框里头来了,这就是
当然,反过来,我们在第二个文本框里输呢,它并没有在第一个文本框里面去。
所以你要注意 是哪个对象,一定要注意是哪个对象发生了什么事件,那这个事件里头呢
又写什么,所以我们写程序实际上就是针对对象,然后呢
把什么样的事件给找到,什么样的属性进行操作,你把它找到了 就可以了。
这就是 C# 里头编程序啊,它的一个基本思路 叫作事件驱动,就是找到事件
然后我们去写这个程序,所以我们可以看出呢 事件在 C#
语言里面是相当重要的 当然这个代码呢它是,也是
设计器帮我们写的这个 += 这段代码 下面我们再看一个例子,那我们在窗体上呢放一个按钮
然后呢放一个标签 放一个标签,然后呢我们在按钮的
click 事件里面写上 一些代码,比如说 this.lable1.
Left += 10 然后呢我们再写
this.Text =
DateTime.Now,可以看出呢就是
C# 里头啊,它使用是相当方便的,DateTime
.Now.Tostring,这里呢 少了一个
ToString,就是要,因为文本呢,它是字符的,所以 DateTime.Now
是现在事件 那所有的这些点呢实际上也是一个属性,.Now
就是现在事件这个属性 那么再写一段代码,this.label
1.
BackColor,就背景颜色,= Color.FromArgb
然后这里面呢我们写上颜色,那这个红绿蓝的分量呢
我们想用一个随机数,所以随机数呢,那我们怎么用呢?
所以我们需要一个随机数的一个对象,那这个对象呢
我们可以写到前面,Random 大家可以想象呢就是
我们凡是所需要用到的东西呢,都用起来特别方便 Random
对象呢,new 一个 Random,就随机数对象,这个随机数对象呢
在这里头我要用到这个对象的 Next 下一个数,这个数呢是在
255 范围内 那就这样写,同样的红、
绿 蓝,我们都是 255 以内的下一个随机数,rnd.Next
255,好,运行一下这个程序
[空白音频] 当我点击这个按钮的时候呢
可以看见呢,一方面呢使这个标签移动了 10 个像素的位置
然后我们再点一下,left += 呢,就是它左边的这个位置呢,又加等于了
10 同时呢,这个颜色呢,你发现了,它也是随机改变的
这就是我们说的,事件里头用的属性或者方法 来完成程序,这就一个基本的思路。
同时我们也看到 了这个窗体上面的显示了当前的时间
你可能要想了,这个事件是我们鼠标每点一次它做一次 动作,那有没有一种办法让它自动地完成这个
动作呢?那当然是有的,C# 呢,早就想到我们会有
我们会有这个需求,所以这个对象呢就是比较特殊的一个对象
它就是组件里头有 一个,组件里面有一个
Timer 对象 我们把这个 Timer 对象拖到这上面来
它就会显示到这底下,这个窗口的下面,这是因为 Timer
对象呢平时不显示,但是它 有一个作用,就是相当于我们闹钟一样,每到一定的时间
呢就发生一个事件,当然这个 Timer 呢
我们翻译成计时器,它的事件 我们也可以找到它,它就有一个事件叫
Tick 事件,就嘀嗒,每到一个时间呢 就嘀嗒一下,然后这里面呢
我们可以写上我们的代码,可以把刚才这段代码呢 让它拖过来。
那这个每隔一定时间 它就会发生一次 Tick
事件,那么这个事件呢,它是在什么情况下发生呢? 这里就有一个属性,这个属性呢叫,很重要的一个属性叫
Interval Inerval 和
Enabled,Interval 呢是时间间隔 那如果我们写 100
呢,就是 100 毫秒发生一次 那如果我们写上 500
呢,那它就是每 半秒钟发生一次,另外还有一个很重要的属性叫作
Enabled,它表示使能,也就是是否起作用,那我们要改成 True
然后再运行这个程序 你会发现呢,它每隔半秒钟,你看就变一下颜色,
移动一下位置 你看这句话真的自动的,当然它现在呢跑到
那边上去了,看不见了啊,那有没有办法让它回来呢?这就是以后要讲的了 [空白音频]
从这里可以看出呢,我们写程序呢最关键的是要找到 什么样的对象、
什么样的事件,甚至我们用这个 Timer 对象
来让它来自动地发出事件,所以以后如果你要做某种自动作的事情呢 这个
Timer 是相当好的一个对象,并且在 Timer Tick 事件里面
我经常爱用这个 Random 这个对象 Timer
和 Random 是我最喜爱的对象,希望你也能喜欢