vb中sub main到底是个啥

前言:

遇到不懂的,就去查,现在查的多了,以后自然就快了,接下来大家一起来和我看看 sub main在vb中的作用吧!

一、sub main的理论知识

1、设置启动窗体。

我们在做程序中,一般第一个窗体就是你的启动窗体,但是有些时候我们需要固定好第一个启动窗体具体是哪一个!如果想在应用程序启动时显示别的窗体,那么就得改变启动窗体。要改变启动窗体,请按照以下步骤执行: 从“工程”菜单中,选取“工程属性”。选取“一般”。在“启动对象”ListBox 中,选取要作为新启动窗体的窗体。选取“确定”。

注意:这是网上说的,其实没有sub main 照样可以按照上面的方式,设置好任意一个窗体都是第一个启动,我个人的理解就是:我们在写不同的程序时,第一个启动窗体的名字都是不一样的,而这时我们利用sub main,就可以让我们无论在敲什么应用程序,都可以设置sub main为首先启动的窗体!

2、没有启动窗体的启动

有时候也许要应用程序不加载任何的窗体!例如:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。要做到这一点,可在标准模块中创建一个名为 Main 的子过程,如下面的例子所示。

Sub Main()
  Dim intStatus As Integer   
   '调用一个函数过程来检验用户状态。
  intStatus = GetUserStatus
   '根据状态显示某个启动窗体。
  If intStatus = 1 Then
      frmMain.Show
  Else
      frmPassword.Show
  End If

3、显示启动时的快速显示( 对于用户)

如果在启动时,有一个较长的执行过程,例如,我在启用程序之前,需要调用大量的数据,这时调用数据是需要时间的,这时对于用户来说,是非常不爽的,这时sub main来了!直接可以让你看到一个图形界面,用户就会感到很爽了,也不会烦了!(这里大家可以细细的感受一下,真的是这样!只要看到你的界面有点变化就会很舒服呢!)例如,我们的vb第一眼看到的窗体就是一个快速显示!

这里写图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 31
    评论
Public Class Form1 Inherits System.Windows.Forms.Form Public Filename As String = "引用英汉词典.txt" '定义连接数据的文本TXT Public Myword(6500, 1) As String '定义二维数组 Public words As Integer = 0 '记录连接数据的文本TXT 单词个数  Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim main As String Dim chang As Integer ' 单词长度 Dim i As Integer = 0 '数组的开始位置 Dim n As String '读取相应的单词 Dim m As String '读取单词的文解释 Dim stringchang As Integer '计算单词后字符串的长度 TextBox1.Text = "" TextBox2.Text = "" FileOpen("英汉小辞典") :|bin:|引用英汉小辞典) '打开文件,相对路径 Do While Not EOF(1) main = LineInput(1) chang = InStr(main, " ") '查找空格的位子。 n = Microsoft.VisualBasic.Left(main, chang - 1) '截取空格字符:单词 Myword(i, 0) = n '保存新的单词 ListBox1.Items.Add(n) stringchang = Len(main) - chang m = Trim(Microsoft.VisualBasic.Right(main, stringchang)) '剩下的字符串赋给变量值m Myword(i, 1) = m '保存文的翻译(解释) i = i + 1 Loop words = i FileClose(1) End Sub Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Try TextBox1.Text = Myword(ListBox1.SelectedIndex, 0) TextBox2.Text = Trim(Myword(ListBox1.SelectedIndex, 1)) Catch ex As Exception Exit Sub End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer = -1 '以数组来进行起始查询 If TextBox1.Text = "" Then MessageBox.Show("不能输入空字符,请重新输入") TextBox2.Text = "" TextBox1.Focus() Exit Sub Else For i = i + 1 To words If LCase(TextBox1.Text) = LCase(Myword(i, 0)) Then TextBox2.Text = Trim(Myword(i, 1)) Exit Sub End If Next MessageBox.Show("不存在您所需要的单词,你需要添加一个新的") End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i As Integer = 0 Dim k As Integer Dim EnterWords, ch As String AB: EnterWords = InputBox("请输入想要添加的单词", "添加一个新的单词") '先输入单词 If EnterWords = "" Then MessageBox.Show("必须要输入单词") GoTo AB End If AC: ch = InputBox("需要您输入文意思", "添加一个新的文意思") '输入文意思 If ch = "" Then MessageBox.Show("请输入文翻译") GoTo AC End If Do While LCase(Myword(i, 0)) < LCase(EnterWords) i = i + 1 If words = i Then '找完数据库再进行添加 Myword(i, 0) = EnterWords '把新添加的单词赋给I位置 Myword(i, 1) = ch '把新添加的单词(文意思)赋给I的位置 words = words + 1 FileOpen(1, Filename, OpenMode.Output) '打开一个文件 For i = 0 To words - 1 PrintLine(1, Myword(i, 0) & " " & Myword(i, 1)) Next ListBox1.Items.Clear() FileClose(1) '关闭文件 ListBox1.Items.Clear() Form1_load(sender, e) MessageBox.Show("添加成功") Exit Sub End If Loop If LCase(Myword(i, 0)) = LCase(EnterWords) Then MessageBox.Show("词库里已经存在这个单词了") Exit Sub Else For k = words To i + 1 Step -1 Myword(k + 1, 0) = Myword(k, 0) Myword(k + 1, 1) = Myword(k, 1) Next k Myword(i, 0) = EnterWords '把添加的单词赋给I的位置 Myword(i, 1) = ch '把添加的单词(文意思)赋给I的位置 words = words + 1 FileOpen(1, Filename, OpenMode.Output) '打开一个文件 For i = 0 To words - 1 PrintLine(1, Myword(i, 0) & " " & Myword(i, 1)) '数组里的单词写入文本文件(TXT) Next FileClose(1) '文件将会关闭 ListBox1.Items.Clear() Form1_load(sender, e) MessageBox.Show("添加成功") Exit Sub End If End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim ch As String Dim j As Integer If -1 = ListBox1.SelectedIndex Then MsgBox("请选择单词再进行修改") ListBox1.Focus() Exit Sub End If AD: ch = InputBox("请输入修改单词的文意思", "修改单词", Trim(Myword(ListBox1.SelectedIndex, 1))) If ch = "" Then MessageBox.Show("不能删除以前的文解释") GoTo AD End If Myword(ListBox1.SelectedIndex, 1) = ch FileOpen(1, Filename, OpenMode.Output) For j = 0 To words - 1 PrintLine(1, Myword(j, 0) & " " & Myword(j, 1)) Next FileClose(1) '文件关闭 ListBox1.Items.Clear() Form1_Load(sender, e) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim i, j, k As Integer k = MsgBox("您确定是否删除吗?", MsgBoxStyle.YesNo) If 6 = k Then For i = ListBox1.SelectedIndex To words Myword(i, 0) = Myword(i + 1, 0) Myword(i, 1) = Myword(i + 1, 1) Next words = words - 1 FileOpen(1, Filename, OpenMode.Output) ' 打开文件 For j = 0 To words - 1 PrintLine(1, Myword(j, 0) & " " & Myword(j, 1)) Next FileClose(1) '文件关闭 MsgBox("单词已经删除了") ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) ListBox1.Refresh() TextBox1.Text = "" TextBox2.Text = "" Exit Sub Else Exit Sub End If End Sub End Class
第一部分 Visual Basic.net基础 1.vb. net介绍 2.vb.net的优点 3.新建一个vb.net项目 4.编写第一个vb.net应用程序 第二部分 vb.net的语法部分 1.vb.net的Numeric数据类型 2.vb.net的Byte数据类型 3.vb.net的String数据类型 4.vb.net的Boolean数据类型 5.vb.net的Date数据类型 6.vb.net的Object数据类型 7.vb.net的用户自定义类型 8.vb.net的数组定义 9.vb.net的数组列表 10.vb.net的多维数组 11.vb.net类型转换函数 第三部分 visual basic.net的运算 程序设计时经常用到的有6种运算:算术运算(Arithmetic)、赋值运算(Assignment)、二进制运算(Bitwise)、比较运算(Comparison)、连接运算(concatenation)及逻辑运算(Logical),下面对这6种运算进行简单介绍。 1.vb.net的算术运算 2.vb.net的赋值运算符 3.vb.net的二进制运算符 4.vb.net的比较运算符 5.vb.net的连接运算符和逻辑运算符 6.vb.net运算符的优先级 (一) Visual basic.net的常量和变量 1.vb.net的常量 2.vb.net的变量 (二) Visual basic.net的流程和控制结构 1.vb.net条件分支语句 2.vb.net的循环语句 (三) vb.net的过程和函数 1.vb.net的Sub过程 2.vb.net的Funtion过程 3.在vb.net调用过程 4.如何向过程传递参数 (四)vb.net的类和对象基础 第四部分 visual basic.net的常用控件 1.vb.net的Label控件 2.vb.net的Button控件 3.vb.net的Textbox控件 4.vb.net的MainMenu控件 5.vb.net的Checkbox控件 6.vb.net的Radiobutton控件 7.vb.net的GroupBox控件 8.vb.net的PictureBox控件 9.vb.net的ListBox控件 10.vb.net的CheckedListBox控件 11.vb.net的Combobox控件 12.vb.net的ListView控件 13.vb.net的TreeView控件 14.vb.net的ImageList控件 15.vb.net的Timer控件 16.vb.net的HScrollBar和VScrollBar控件 17.vb.net的ProgressBar控件 18.vb.net的ToolBar控件 19.vb.net的StatusBar控件 20.Vs 2005的ToolStrip控件 21.Vs 2005的StatusStrip控件 22.Vs 2005的MenuStrip控件 第六部分 vb.net的OOP结构 1.什么是oop 2.vb.net的面向对象性 3.vb.net的共享成员(Share Members) 4.类模块和标准代码模块的区别和比较 5.对象浏览器 (一) 建立和使用对象 1.vb.net对象的建立和销毁:对象的生命周期 2.设置和重设vb.net的属性 3.用方法来表现动作 4.vb.net对象变量的声明 5.对一个对象进行多种操作 6.使用New关键字 7.如何释放对对象的引用 8.如何把对象传递到一个过程 (二) 在程序运行得到一个类的信息: 用一个字符名称调用一个属性或者方法 (三) vb.net的类、继承与多态性 1.vb.net给一个类添加方法 2.命名属性、方法和事件 3.vb.net的事件和事件处理 4.类的继承(Inheritance) 5.vb.net继承的规则 6.用继承建立一个继承类 7.重载Windows控件 8.什么时候使用继承 9.什么是命名空间(Namespace) 10.vb.net继承的例子 11.vb.net用继承实现多态性 12.vb.net用接口实现多态性 第七部分 数据库访问技术 关于SQL语言的知识,请参考: sql语言教程及Sql语言基础 1.数据库基础知识 2.vb.net数据集(Datasets)的概念 3.什么是dao 4.Dao与Jet数据库引擎 5.Dao对象模型 6.远程数据对象RDO 7.Rdo对象模型 8.odbc api是什么 9.ODBC的结构 10.使用ODBC API访问数据库 11.ado数据对象 12.ado对象模型 13.ADO.NET简介 14.使用ADO.NET的基本方法 第八部分 vb.net的多线程 1.自由线程(Free Threading) 2.关于线程的参数和返回值的问题 3.vb.net的并发性问题 第九部分 vb.net的文件和出错处理 1.vb.net的出错处理 2.vb.net的多种出错处理(Multiple Exceptions) 3.vb.net的文件对象(file object) 4.vb.net文件处理的出错处理 5.检测文件的结束(Testing for End of File) 6.文件的静态方法(Static File Methods)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值