要恢复属性的默认值,请将 Status 属性更改为 statusRed。然后,右键单击 Properties(属性)窗口中的 Status(状态)属性,并选择 Reset(重置),如图 4 所示。该属性将更改回 statusGreen。如果将 BorderWidth 属性设置为 1 之外的其他值,也可以使用同样的方法恢复其默认值。

图 4:Properties(属性)窗口中 Status(状态)属性的 Reset(重置)选项。请注意窗口底部有关 Status(状态)属性的说明。
如果需要,还可以为控件插入 StatusChanged 事件。然后,可以使用该事件中的以下代码行查看更改后的状态:
MsgBox("新状态为 " & NewStatus.ToString)
要在操作中测试该控件,您需要启动 TestTrafficLight 项目。此时,它还不是该解决方案的启动项目,因此您需要解决它。在 Solution Explorer(解决方案资源管理器)中,右键单击 Solution(解决方案)名称 - Solution Explorer(解决方案资源管理器)中的第一行。选择 Properties(属性),然后将 Single Startup Project(单启动项目)设置从 MyControls 更改为 TestTrafficLight,然后单击 OK(确定)。
按 F5 键启动该项目。将显示带有 TrafficLight 控件的窗体。测试控件:按下不同的灯,查看它们是否亮起。您还可以测试 BorderWidth 属性,尝试在代码中设置灯的 Status 属性。
小结
尽管 TrafficLight 是一个简单的控件(虽然曾有开发人员要把它用到真实的项目中),但它却显示了开发复杂控件所需要的所有原理,包括:
创建复杂控件的关键在于熟悉 GDI+ 的绘图能力。如果理解了 TrafficLight 绘制边框和彩色圆的原理,那么您就有了一个好的起点。关键是,有了 Visual Basic .NET,即使象我这么懒惰的程序员也能创建高级的 Windows 窗体。
上一页 [1] [2] [3] [4] [5] [6] [7] [8]