实例解析VB的事件驱动编程
在本文中,我们将通过Visual Basic和BetterState为Visual Basic设计一个简单的例子。这个例子的主要目的是在BetterState环境中设计状态图。对于用户来说,就是建立Visual Basic设计的前端部分。
在这个例子中,我们使用的是VB代码生成器,因为这个代码生成器是BetterState Pro的每个版本都提供的。
考虑一个简单的例子:一个VB窗口,包含一个名为Timer1的标准Visual Basic timer控件;;和一个表示交通灯的自定义图片控件,名为Light1。它可以是绿色或红色的。假设我们希望每次定时器事件发生时信号灯在红色和绿色之间变化。这种行为可以很容易地用状态机来模拟,并可视化地表示为状态图,如图1所示。
状态机从绿色状态开始,每次Timer1_Timer事件发生时(以固定的时间间隔),状态机在红绿两种状态之间交替切换,因此Light1的Color属性被适当改变。显然,我们可以在Timer1_Timer事件中使用简单的VB代码来达到同样的效果,写一个子程序,使用一个名为LightState的变量,它的值是0或1,使用if-then-else语句交替改变变量的值。
If(light state = 0)Then light state = 1 light 1。color = 1 ' RED Else light state = 0 light 1。Color = 0 '绿色结尾If
0条评论