SUb Main 的用途
以前看到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
当一些启动例程正在执行时,快速显示能吸引用户的注意,造成应用程序装载很快的错觉。当这些启动例程完成以时,可以装入第一个窗体并使快速显示卸载。
对于快速显示的设计来说,尽量简单为好。如果使用大量位图或者大量控件,则快速显示本身装入将会变慢。
SUb Main 的用途相关推荐
- python的断点调试
2019独角兽企业重金招聘Python工程师标准>>> http://http://control.blog.sina.com.cn/admin/article/article_ad ...
- TypeScript 里的 module 解析过程 - Module Resolution
Module Resolution 模块解析是编译器用来确定导入所指内容的过程.考虑像 import { a } from "moduleA"; 这样的导入语句.为了检查 a 的任 ...
- Head First Java学习笔记(2):类与对象
类 1.类是定义同一类所有对象的变量和方法的蓝图或原型. 2.实例变量的值由类的每个实例提供.当创建类的实例时,就创建了这种类型的一个对象,然后系统为类定义的实例变量分配内存.然后可以调用对象的实例方 ...
- python linux 单步调试,python的断点调试
python的断点调试(转自:http://control.blog.sina.com.cn/admin/article/article_add.php) pdb这个功能好牛啊,可以在命令行设置也可以 ...
- shell脚本 -- 用途替换所有json文件(main.json 除外)中的 ios下载链接
#!/bin/bash #脚本用途 替换所有json文件(main.json 除外)中的 ios下载链接 #调用格式 "xxx.sh" (脚本名称) "ios||and& ...
- android之android.intent.category.DEFAULT的用途和使用
1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent. Explicit Intent明确的指定了要启动的Acitivity , ...
- using的几种用途
using 常用来引用命名空间 1 using System; 2 using System.Data; 3 using System.Data.SqlClient; 4 using System.C ...
- 多线程编程有什么用途_C++ 多线程编程 (一)
What is thread? In computer science, a thread of execution is the smallest sequence of programmed in ...
- 实际上,Python 3.3中新的“ yield from”语法的主要用途是什么?
本文翻译自:In practice, what are the main uses for the new "yield from" syntax in Python 3.3? I ...
最新文章
- 【Linux 线程】常用线程函数复习《一》
- java23种设计模式+单例_Java23种设计模式之单例模式
- jquery实现抽奖系统
- Jquery操作表单Select元素常用方法
- SQL总结(快速参考)
- 拼图登陆拼图二维码验证_如何使用拼图快速轻松地构建静态网站
- linux top 命令可视化_linux性能监控:CPU监控命令之top命令
- 河海大学计算机与信息学院 王晶晶,信息学部 计算机与信息学院
- 操作系统实战45讲01:运行HelloOS
- python从入门到精通需要多久-Python从入门到精通:一个月就够了
- Java基础篇:简单介绍一下final
- Centos7安装32位库用来安装32位软件程序
- 无线通信技术-NB-IoT
- cryptojs php 互通_AES 加密解密 CryptoJS + php 方案
- 静态NAT64实验配置
- TC397 MCMCAN
- K成本中心PO总账科目矛盾报错
- 向Android系统中添加模块及产品流程
- 88.什么是受管制的代码?什么是托管代码?
- maven pc配置要求_竞速游戏《F1 2019》PC配置要求 GTX 1660ti即可畅玩
热门文章
- 3-8课:数字为什么长这样儿:说说进位制
- U3D客户端框架之 拓展StringBuilder实现InsertNoGC、IndexOf、LastIndexOf、ReplaceNoGC、AppendNoGC API 减少GC
- php网上交友系统,解决方案-PHP交友程序_交友源码_征婚交友系统- OELOVE官方网站...
- R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)
- 今天来聊一下,俞敏洪把
- u盘容量变小了怎么恢复
- java web 添加超链接_[Java教程]javaWeb超链接(href)请求
- MATLAB资源整理
- 能闻到“银幕里的馄饨香”《小门神》用阿里云渲染好莱坞级特效
- 扩散模型的基本内容介绍