扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
双击Option1(即红灯)控件,添加如下代码:(黑体部分为系统自动生成的代码,下同) Private Sub Option1_Click() ′显示红灯图片 On Error GoTo LoadErr ′当载入图片发生错误时跳到LoadErr处 If Option1.Value=True Then ′当单击了Option1控件时 Image1.Picture=LoadPicture(″C:\Windows\Desktop\red.jpg″) ′载入red.jpg图片,并显示在Image1控件中。 End If LoadErr: ′设置捕获错误标签 If Err.Number=53 Then ′当发生错误时 MsgBox Err.Description,vbOKOnly+vbCritical,″错误″ ′显示错误信息 End If End Sub |
上面一段代码中有一句“On Error Goto LoadErr”,该句是用作捕获程序错误的,当程序执行过程中发生了错误则跳到处理错误语句处执行。在这段代码中,如果在载入图片时发生了错误(通常是所要载入的文件不存在或路径错误)则跳到LoadErr处执行LoadErr后的程序代码。
在VB中,所有的程序错误都是用数字表示的,如53则表示未找到文件的错误码,其实要知道哪个错误码表示哪种错误也并不难,当你在VB中运行这个程序时,如果出现了错误,会有一个错误的提示框,在该提示框中则有该错误的错误码。如果我们没有在该段程序中加入“On Error Goto LoadErr”语句及给出错误的文件名或文件路径的话,则会出现如图2所示的提示框。
LoadPicture是载入图片的函数,其中第一个参数则是所要载入图片的完整路径,当然在本例中这个路径是固定了的,所要想使其路径随程序路径的变化而变化则需要使用App.Path值,可以写成Image1.Picture=LoadPicture(App.Path&″\red.jpg″),其中App.Path返回的值则是程序所在的路径,当然red.jpg必须放在程序所在的同一目录中。
双击Option2(即绿灯)控件,添加如下代码:
Private Sub Option2_Click() ′显示绿灯图片 On Error GoTo LoadErr ′当载入图片发生错误时跳到LoadErr处 If Option2.Value=True Then ′当单击了Option2控件时 Image1.Picture=LoadPicture(″C:\Windows\Desktop\green.jpg″) ′载入green.jpg图片,并显示在Image1控件中。 End If LoadErr: ′设置标签 If Err.Number=53 Then ′当发生错误时 MsgBox Err.Description,vbOKOnly+vbCritical,″错误″ ′显示错误信息 End If End Sub |
OK!现在我们就可以单击F5键运行一下,看看我们自制的“红绿灯”程序吧。点击一下“绿灯”看看,红灯变成绿灯了吧?再试试红灯,怎样?现在我们就可以控制红绿灯了吧。
如何才能让“红绿灯”自动更换呢?要实现这个功能也非常简单,只要加入Timer(时钟)控件,将Timer1的Interval设置为3000(即3秒)。其原理就是每隔3秒更换一种图片,这样便实现了自动更换。
双击Timer1控件,添加如下代码:
Private Sub Timer1_Timer() ′实现自动化 If Option1.Value=True Then ′如果当前显示的是红灯 Option2.Value=True ′使Option2被选中,执行Option2中的代码(即显示绿灯) Else Option1.Value=True ′使Option1被选中,执行Option1中的代码(即显示红灯) End If End Sub |
单击F5键运行一下,每隔3秒钟即换一种颜色显示。就这么几句代码就实现了自动化,简单吧?
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者