Visual Basic (VB) 教程
第一部分:入门篇
第一章:什么是 Visual Basic?
Visual Basic (VB) 是一种由微软开发的、面向对象的编程语言,它是 .NET 框架的核心语言之一,以其简单易学、快速开发而闻名,VB 的语法非常接近自然英语,这使得它成为许多编程新手的理想选择。

核心特点:
- 事件驱动编程: 程序的执行由用户操作(如点击按钮、输入文本)触发。
- 图形用户界面: 通过拖拽控件(如按钮、文本框)快速构建用户界面。
- 集成开发环境: 使用 Visual Studio 提供强大的代码编辑、调试和项目管理工具。
- 面向对象: 支持类、对象、继承等面向对象的特性。
VB 的应用领域:
- 桌面应用程序开发: 开发 Windows 窗体应用,如企业管理系统、工具软件等。
- Web 应用开发: 使用 ASP.NET 开发动态网站。
- Office 自动化: 编写宏来自动化 Word、Excel、PowerPoint 等办公软件。
- 游戏开发: 使用 Unity 游戏引擎,C# 是其主流语言,但 VB 也可以使用。
- 数据库应用: 快速开发连接数据库的前端应用程序。
第二章:开发环境搭建
在开始编码之前,你需要安装 Visual Studio,对于 VB 开发,Visual Studio Community (社区版) 是完全免费且功能强大的选择。
安装步骤:

- 下载: 访问 Visual Studio 官方下载页面。
- 选择版本: 下载 "Visual Studio Community"。
- 安装工作负载: 运行安装程序,在 "工作负载" 选项卡中,勾选 “.NET 桌面开发”,这个工作负载包含了开发 VB Windows 桌面应用所需的一切。
- 安装: 点击右下角的 "安装" 按钮,等待安装完成。
第三章:你的第一个 VB 程序 - "Hello, World!"
让我们创建一个简单的程序,点击按钮后,在文本框中显示 "Hello, World!"。
步骤 1:创建新项目
- 打开 Visual Studio。
- 选择 "创建新项目"。
- 在模板搜索框中输入
Windows Forms App,然后选择 "Visual Basic Windows 窗体应用"。 - 为你的项目命名(
HelloWorldApp),并选择一个位置来保存项目。 - 点击 "创建"。
步骤 2:设计用户界面
- 你会看到一个名为
Form1的窗口,这是你的应用程序主界面。 - 在右侧的 "工具箱" 中,找到并拖拽以下控件到
Form1上:- TextBox (文本框): 用于输入和显示文本,将其命名为
txtDisplay。 - Button (按钮): 用于触发操作,将其命名为
btnShowMessage,并将Text属性改为 "显示消息"。
- TextBox (文本框): 用于输入和显示文本,将其命名为
你的界面看起来应该像这样:

步骤 3:编写代码
- 双击你刚刚创建的 "显示消息" 按钮,Visual Studio 会自动切换到代码视图,并为你生成一个事件处理程序
btnShowMessage_Click。 - 在
Private Sub ... End Sub代码块中,输入以下代码:
' 当按钮被点击时,此代码会执行
Private Sub btnShowMessage_Click(sender As Object, e As EventArgs) Handles btnShowMessage.Click
' 将文本框的内容设置为 "Hello, World!"
txtDisplay.Text = "Hello, World!"
End Sub
代码解释:
Private Sub ... End Sub: 定义一个子过程(一段可以执行的代码)。btnShowMessage_Click: 这是过程的名称,表示当btnShowMessage这个按钮被点击时触发。sender As Object, e As EventArgs: 这是事件的标准参数,暂时可以忽略。Handles btnShowMessage.Click: 这行代码将这个子过程与按钮的Click事件关联起来。txtDisplay.Text = "Hello, World!": 这是核心代码,它访问txtDisplay文本框的Text属性,并将其值设置为字符串"Hello, World!"。
步骤 4:运行程序
- 按下
F5键,或者点击工具栏上的绿色 "▶" (启动) 按钮。 - 程序会启动,你会看到一个窗口。
- 点击 "显示消息" 按钮,你会看到文本框中出现了 "Hello, World!"。
恭喜!你已经成功创建了你的第一个 VB 程序!
第二部分:VB 核心语法
第四章:变量与数据类型
变量是用于存储数据的容器,在使用变量前,最好先声明它。
声明变量:
使用 Dim 关键字。
' 声明一个字符串变量 Dim name As String ' 声明一个整数变量 Dim age As Integer ' 声明一个布尔值变量 Dim isStudent As Boolean
常用数据类型:
| 数据类型 | 描述 | 示例 |
|---|---|---|
String |
文本 | "你好,世界" |
Integer |
32 位整数 | 100, -50 |
Double |
双精度浮点数(带小数) | 14, -99.9 |
Boolean |
布尔值(真/假) | True, False |
Date |
日期和时间 | #2025/10/27#, #10:30:00 AM# |
Object |
可以存储任何类型的数据 | 任何对象 |
变量赋值与初始化:
' 先声明,后赋值 Dim city As String city = "北京" ' 声明时直接初始化 Dim score As Integer = 95
常量:
使用 Const 关键字声明,其值在程序运行期间不能改变。
Const PI As Double = 3.14159
第五章:运算符
算术运算符:
| 运算符 | 描述 | 示例 |
|---|---|---|
| 加法 | 5 + 3 结果为 8 |
|
| 减法 | 10 - 4 结果为 6 |
|
| 乘法 | 6 * 7 结果为 42 |
|
| 浮点除法 | 10 / 3 结果为 333... |
|
\ |
整数除法 | 10 \ 3 结果为 3 (只取整数部分) |
Mod |
取模(余数) | 10 Mod 3 结果为 1 |
^ |
幂 | 2 ^ 3 结果为 8 |
比较运算符:
结果为 True 或 False。
| 运算符 | 描述 | 示例 |
|---|---|---|
| 等于 | 5 = 5 结果为 True |
|
<> |
不等于 | 5 <> 3 结果为 True |
> |
大于 | 10 > 5 结果为 True |
< |
小于 | 5 < 10 结果为 True |
>= |
大于或等于 | 5 >= 5 结果为 True |
<= |
小于或等于 | 3 <= 5 结果为 True |
逻辑运算符:
| 运算符 | 描述 | 示例 |
|---|---|---|
And |
逻辑与 (两边都为真,结果才为真) | True And False 结果为 False |
Or |
逻辑或 (两边有一个为真,结果就为真) | True Or False 结果为 True |
Not |
逻辑非 (取反) | Not True 结果为 False |
第六章:控制流
条件语句
- If...Then...Else
Dim score As Integer = 85
If score >= 90 Then
MessageBox.Show("优秀!")
ElseIf score >= 60 Then
MessageBox.Show("及格!")
Else
MessageBox.Show("不及格!")
End If
- Select Case (适合多分支选择)
Dim dayOfWeek As String = "星期三"
Select Case dayOfWeek
Case "星期一"
MessageBox.Show("新的一周开始了!")
Case "星期五"
MessageBox.Show("周末快到了!")
Case "星期六", "星期日" ' 可以组合多个条件
MessageBox.Show("周末愉快!")
Case Else
MessageBox.Show("普通的一天。")
End Select
循环语句
- For...Next (已知循环次数)
' 从 1 循环到 5
For i As Integer = 1 To 5
MessageBox.Show("当前循环次数是: " & i)
Next
- For Each...Next (遍历集合中的每一项)
Dim fruits As New List(Of String) From {"苹果", "香蕉", "橙子"}
For Each fruit As String In fruits
MessageBox.Show("水果: " & fruit)
Next
- Do...Loop (在条件为真时循环)
' Do While...Loop (先判断,后执行)
Dim count As Integer = 0
Do While count < 3
MessageBox.Show("Do While 循环,计数: " & count)
count += 1
Loop
' Do...Loop While (先执行,后判断)
count = 0
Do
MessageBox.Show("Do...Loop While 循环,计数: " & count)
count += 1
Loop While count < 3
第三部分:面向对象编程基础
VB 是一门面向对象的语言,理解类和对象是进阶的关键。
类 vs. 对象:
- 类 是一个模板或蓝图,定义了对象的属性(数据)和方法(行为)。
- 对象 是类的实例,是真实存在的个体。
创建一个简单的类 Person:
- 在 Visual Studio 的 "解决方案资源管理器" 中,右键点击你的项目,选择 "添加" -> "类"。
- 命名为
Person.vb。
' Person.vb
Public Class Person
' 属性:定义类的数据
Public Property Name As String
Public Property Age As Integer
' 方法:定义类的行为
Public Sub Introduce()
MessageBox.Show("你好,我叫 " & Name & ",我 " & Age & " 岁了。")
End Sub
End Class
在窗体中使用这个类:
' 在按钮的点击事件中
Private Sub btnCreatePerson_Click(sender As Object, e As EventArgs) Handles btnCreatePerson.Click
' 1. 创建 Person 类的对象(实例化)
Dim person1 As New Person()
' 2. 给对象的属性赋值
person1.Name = "张三"
person1.Age = 30
' 3. 调用对象的方法
person1.Introduce()
End Sub
第四部分:实际应用与进阶
第七章:处理用户输入
文本框 (TextBox) 是最常见的输入控件。
' 假设有一个名为 txtInput 的文本框和一个名为 btnSubmit 的按钮
Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
' 获取文本框中的内容
Dim userInput As String = txtInput.Text
' 检查用户是否输入了内容
If String.IsNullOrWhiteSpace(userInput) Then
MessageBox.Show("请输入内容!")
Else
' 显示用户输入的内容
MessageBox.Show("你输入的是: " & userInput)
End If
End Sub
第八章:消息对话框
MessageBox 用于向用户显示简短的信息或获取简单的确认。
' 显示一个简单的信息框
MessageBox.Show("操作成功!")
' 显示一个带有标题和图标的警告框
MessageBox.Show("请检查您的输入。", "输入警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
' 显示一个带有 "是" 和 "否" 选项的确认框
Dim result As DialogResult = MessageBox.Show("确定要删除吗?", "确认删除", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
' 根据用户的选择执行不同操作
If result = DialogResult.Yes Then
' 用户点击了 "是"
MessageBox.Show("已删除。")
Else
' 用户点击了 "否"
MessageBox.Show("已取消删除。")
End If
第九章:文件操作
读写文本文件是常见的需求。
写入文件:
Dim filePath As String = "C:\temp\mylog.txt"
Dim message As String = "这是一条日志信息。" & vbCrLf & DateTime.Now.ToString()
' 使用 Using 语句可以确保文件在使用后被正确关闭
Using writer As New StreamWriter(filePath, True) ' True 表示追加模式
writer.WriteLine(message)
End Using
MessageBox.Show("日志已写入。")
读取文件:
filePath = "C:\temp\mylog.txt"
If File.Exists(filePath) Then
Using reader As New StreamReader(filePath)
Dim fileContent As String = reader.ReadToEnd()
' 假设有一个名为 txtContent 的文本框来显示内容
txtContent.Text = fileContent
End Using
Else
MessageBox.Show("文件不存在。")
End If
第五部分:学习资源与总结
这份教程涵盖了 VB 开发的基础知识,从环境搭建到核心语法,再到简单的实际应用,VB 的强大之处在于其快速构建 Windows 桌面应用的能力,尤其是在企业内部工具开发方面。
学习路径建议:
- 熟练掌握基础: 变量、数据类型、运算符、控制流是编程的基石,必须牢固掌握。
- 深入理解面向对象: 类、对象、属性、方法是构建复杂应用的关键。
- 多动手实践: 尝试自己做一些小项目,比如计算器、简单的记事本、学生信息管理系统等。
- 学习高级主题: 如数据库连接 (ADO.NET)、多线程、异常处理等。
推荐学习资源
- Microsoft Learn (官方文档): 最权威、最全面的学习资源。
- VB Forums: 一个非常活跃的 VB 开发者社区,可以提问和交流。
- Stack Overflow: 当你遇到具体问题时,这里是寻找答案的最佳去处。
- https://stackoverflow.com/ (搜索标签
vb.net)
- https://stackoverflow.com/ (搜索标签
- YouTube 视频教程: 搜索 "Visual Basic Tutorial",有很多优秀的视频课程可供选择。
祝你学习愉快,早日成为 VB 高手!
