以前看到sub main 时候,不太懂比较模糊,最近在敲学生信息系统的例子时,又接触到这个“函数”,这次就好好查了一下,主要有两个用途:
1.设置启动窗体
在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来(因而最先执行的代码是该窗体的 Form_Initialize 事件中的代码)。如果想在应用程序启动时显示别的窗体,那么就得改变启动窗体。
要改变启动窗体,请按照以下步骤执行:
从“工程”菜单中,选取“工程属性”。选取“一般”。
在“启动对象”中,选取要作为新启动窗体的窗体。
没有启动窗体时的启动
有时候也许要应用程序启动时不加载任何窗体。例如:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。要做到这一点,可在标准模块中创建一个名为
Main 的子过程,如下面的例子所示。
Sub Main()
Dim intStatus As Integer
'调用一个函数过程来检验用户状态。
intStatus = GetUserStatus
'根据状态显示某个启动窗体。
If intStatus = 1 Then
frmMain.Show
Else
frmPassword.Show
End If
这个过程必须是一个子过程,且不能在窗体模块内。欲将 Sub Main 过程设为启动对象,可从“工程”菜单中,选取“工程属性”,再选“一般”,然后从“启动对象”框中选定“Sub
Main”。
2.显示启动时的快速显示
如果启动时有一个较长的执行过程,例如要从数据库中装入大量数据或者要装入一些大型位图,这时可能希望在启动时给出一个快速显示。快速显示是一种窗体,它通常显示的是诸如应用程序名,版权信息和一个简单的位图等内容。启动
Visual Basic 时所显示的屏幕就是一个快速显示。
要显示快速显示,需用 Sub Main 过程作为启动对象,并用
Show 方法显示该窗体:
Private Sub Main()
'显示快速显示。
frmSplash.Show
'在此处添加启动过程。
...
'显示主窗体并卸载快速显示。
frmMain.Show
Unload frmSplash
End Sub
当一些启动例程正在执行时,快速显示能吸引用户的注意,造成应用程序装载很快的错觉。当这些启动例程完成以时,可以装入第一个窗体并使快速显示卸载。
对于快速显示的设计来说,尽量简单为好。如果使用大量位图或者大量控件,则快速显示本身装入将会变慢。