【前言】
小伙伴们在平时有没有遇到过如下图的错误提示呢?那么它究竟是什么呢?那又什么时候使用它呢?我来说一点我的看法!
【正文】
这个错误是我在敲完学生信息管理系统的“登陆窗体”后,进行程序运行时提示的错误。它告诉我缺少”启动窗体或Sub Main()"。当时我就很好奇它究竟什么。明明我的SQL数据库都已经连接成功了,并且单独运行”登陆窗体“时都可以成功,为什么我一把启动窗体改为”Sub Main“就提示错误呢?带着种种疑问我去网上查阅了相关资料。
在我们之前敲的程序中,一般都是只有一个窗体,那么在程序开始运行时都会自动默认从这个窗体开始运行。
但如果一个程序中有多个窗体,比如像我们敲的学生信息管理系统,如果你不定义Sub Main()过程,那么程序就会自动从你建的第一个窗体开始运行。在学生系统中,我们一般建的第一个窗体是“登陆窗体”,而当你开始运行程序,用户登陆成功后,系统并不会自动的跳入下一个窗体
那如果定义了Sub Main()过程会怎么样?这么来说吧,Sub Main()过程就相当于一个程序的入口,在过程中你编写的相关代码在一个程序一启动时就会最先运行这段代码块。
Sub Main() '启动界面
Dim fLogin As New frmLogin
fLogin.Show vbModal '显示登录窗体实例
'判断是否授权用户
If Not fLogin.OK Then '如果用户授权
End '卸载登陆窗体
End If
Unload fLogin
Set fMainForm = New frmMain '进入操作界面
fMainForm.Show
End Sub
拿学生系统来举例:当系统启动时,首先执行这段代码,判断用户是否具有权利进入系统,如果有,就进入系统,反之则登陆失败,不能进入系统。
注意:Sub Main()过程总是定义在模块中,一个程序只能有一个Sub Main()过程
那什么时候用它呢?
像我们做系统时,或者涉及到多个窗体的先后运行顺序时,都可以使用它。不仅在VB中会用到它,Java啊等等语言都会有它的身影,还是很Amazing的!