杰瑞科技汇

Visual Basic教程

Visual Basic (VB.NET) 完整教程

第一部分:基础入门

第1章:什么是 Visual Basic?

Visual Basic (VB) 是一种由微软开发的、面向对象的、事件驱动的编程语言,它源自经典的 BASIC 语言,但现代的 VB 通常指 VB.NET,它是 .NET 框架的一部分。

Visual Basic教程-图1
(图片来源网络,侵删)

核心特点:

  • 易于学习: 语法接近自然英语,可读性高,非常适合初学者。
  • 事件驱动: 程序的执行流程由用户事件(如点击按钮、输入文本)触发。
  • 强大的 IDE: 拥有 Visual Studio 这款功能强大的集成开发环境,可以轻松设计界面、编写代码和调试程序。
  • 面向对象: 支持封装、继承、多态等面向对象编程特性。

应用领域: 主要用于开发 Windows 桌面应用程序 (WinForms, WPF)、Web 应用程序 (ASP.NET)、游戏开发(通过 Unity)、以及各种自动化工具和脚本。


第2章:开发环境搭建

你需要安装 Visual Studio,这是微软官方提供的免费、强大的 IDE。

步骤:

Visual Basic教程-图2
(图片来源网络,侵删)
  1. 下载 Visual Studio Installer: 访问 Visual Studio 官网
  2. 选择社区版: 对于个人学习、开源项目和小的专业团队,Visual Studio Community (社区版) 是完全免费的,点击“下载社区版”。
  3. 安装工作负载: 运行安装程序,在“工作负载”选项卡中,勾选你需要的开发环境,对于初学者,推荐选择:
    • 使用 .NET 的桌面开发:用于创建 Windows 窗体应用程序。
    • ASP.NET 和 Web 开发:如果你想学习 Web 开发。
    • .NET 桌面开发:一个更全面的 .NET 桌面应用开发包。
  4. 修改和安装: 确认安装路径和所需组件后,点击“安装”,这个过程可能需要一些时间,请耐心等待。
  5. 启动 Visual Studio: 安装完成后,启动 Visual Studio,选择“开发环境设置”为“Visual Basic 开发”,然后点击“启动”。

第3章:第一个 VB.NET 程序 - "Hello, World!"

我们将创建一个简单的控制台应用程序。

  1. 在 Visual Studio 中,选择 文件 -> 新建 -> 项目
  2. 在模板窗口中,选择 Visual Basic -> 控制台应用
  3. 为你的项目命名(HelloWorld),并选择一个保存位置,然后点击“创建”。
  4. Visual Studio 会自动生成一个代码文件 Module1.vb如下:
Module Module1
    Sub Main()
        ' 在此处插入代码
    End Sub
End Module
  1. Sub Main()End Sub 之间输入以下代码:
Console.WriteLine("Hello, World!")
  1. 按下 F5 键或点击工具栏上的绿色“▶”按钮来运行程序。
  2. 一个黑色的控制台窗口会弹出,显示 Hello, World!,然后按任意键关闭。

代码解释:

  • Module Module1 ... End Module:在 VB.NET 中,代码通常放在模块或类中。Main 方法是程序的入口点。
  • Sub Main()Sub 表示一个不返回值的过程(方法)。Main 是程序启动时自动执行的方法。
  • Console.WriteLine(...):这是一个预定义的方法,用于在控制台窗口中输出一行文本,并自动换行。

第4章:VB.NET 基本语法

变量和数据类型

变量是用于存储数据的容器,在使用变量前,最好先声明它。

' 声明一个名为 myName 的字符串变量
Dim myName As String
' 声明并赋值
Dim age As Integer = 25
Dim price As Double = 19.99
Dim isStudent As Boolean = True

常用数据类型:

Visual Basic教程-图3
(图片来源网络,侵删)
类型 描述 示例
String 文本 "你好,世界"
Integer 32 位整数 100, -50
Double 64 位浮点数(带小数) 14, -0.001
Boolean 布尔值(真/假) True, False
Date 日期和时间 #2025/10/27#
Char 单个字符 "A"
注释

注释是代码中不会被编译执行的说明性文字,用于帮助理解代码。

  • 单行注释:使用单引号
  • 多行注释:使用 REM 关键字(不常用)
' 这是一个单行注释
REM 这是一个
REM 多行注释
运算符
  • 算术运算符: (加), (减), (乘), (除), Mod (取余)
  • 比较运算符: (等于), <> (不等于), > (大于), < (小于), >= (大于等于), <= (小于等于)
  • 逻辑运算符: And (与), Or (或), Not (非)

示例:

Dim a As Integer = 10
Dim b As Integer = 3
Dim result As Integer = a Mod b ' result 的值是 1 (10 除以 3 余 1)
Dim isEqual As Boolean = (a = b) ' isEqual 的值是 False
控制流

If...Then...Else 语句: 用于条件判断。

Dim score As Integer = 85
If score >= 90 Then
    Console.WriteLine("优秀")
ElseIf score >= 60 Then
    Console.WriteLine("及格")
Else
    Console.WriteLine("不及格")
End If

For...Next 循环: 用于重复执行固定次数的代码。

' 从 1 循环到 5
For i As Integer = 1 To 5
    Console.WriteLine("当前循环次数: " & i)
Next

Do...Loop 循环: 用于在条件为真时重复执行代码。

' Do While...Loop: 先判断条件,再执行
Dim count As Integer = 0
Do While count < 3
    Console.WriteLine("Do While: " & count)
    count += 1
Loop
' Do...Loop While: 先执行一次,再判断条件
count = 0
Do
    Console.WriteLine("Do...Loop While: " & count)
    count += 1
Loop While count < 3

第二部分:面向对象编程

第5章:类和对象

是创建对象的蓝图或模板。对象 是类的实例。

创建一个类:

  1. 在“解决方案资源管理器”中,右键点击你的项目,选择 添加 ->
  2. 命名为 Car.vb
' Car.vb
Public Class Car
    ' 属性:描述对象的状态
    Public Property Brand As String
    Public Property Model As String
    Public Property CurrentSpeed As Integer
    ' 方法:描述对象的行为
    Public Sub Accelerate()
        CurrentSpeed += 10
        Console.WriteLine("加速!当前速度: " & CurrentSpeed & " km/h")
    End Sub
    Public Sub Brake()
        CurrentSpeed -= 5
        If CurrentSpeed < 0 Then CurrentSpeed = 0
        Console.WriteLine("刹车!当前速度: " & CurrentSpeed & " km/h")
    End Sub
End Class

使用类(在 Main 方法中):

' 在 Module1.vb 的 Main 方法中
Sub Main()
    ' 创建 Car 类的对象(实例化)
    Dim myCar As New Car()
    ' 设置对象的属性
    myCar.Brand = "Tesla"
    myCar.Model = "Model 3"
    myCar.CurrentSpeed = 0
    ' 调用对象的方法
    myCar.Accelerate() ' 输出: 加速!当前速度: 10 km/h
    myCar.Accelerate() ' 输出: 加速!当前速度: 20 km/h
    myCar.Brake()      ' 输出: 刹车!当前速度: 15 km/h
End Sub

第6章:方法和属性

  • 方法:在类中定义的 Sub(无返回值)或 Function(有返回值)过程。
    • Sub:执行一个操作,不返回结果。
    • Function:执行一个操作并返回一个值。
' 一个有返回值的 Function 示例
Public Function GetFullInfo() As String
    Return Brand & " " & Model
End Function
' 使用
Dim info As String = myCar.GetFullInfo()
Console.WriteLine(info) ' 输出: Tesla Model 3
  • 属性:提供了对类字段的受控访问,它们看起来像变量,但实际上是 Get(获取值)和 Set(设置值)方法的组合。
' 自动实现的属性(现代VB.NET推荐写法)
Public Property Color As String
' 传统属性(带有逻辑)
Private _price As Double
Public Property Price() As Double
    Get
        Return _price
    End Get
    Set(value As Double)
        If value > 0 Then
            _price = value
        Else
            Throw New Exception("价格不能为负数")
        End If
    End Set
End Property

第三部分:Windows 窗体应用程序

这是 VB 最经典的应用领域,用于创建图形用户界面。

第7章:创建一个简单的 WinForms 应用

  1. 在 Visual Studio 中,文件 -> 新建 -> 项目
  2. 选择 Visual Basic -> Windows 窗体应用
  3. 命名项目(MyFirstApp),点击“创建”。

你会看到一个名为 Form1 的设计窗口和右侧的“工具箱”。

第8章:常用控件

从“工具箱”中拖拽控件到窗体上:

  • Button (按钮):用于触发操作。
  • Label (标签):用于显示静态文本。
  • TextBox (文本框):用于输入和显示文本。
  • ComboBox (下拉框):提供一个下拉列表供用户选择。

第9章:事件处理

事件是对象可以识别的动作,如点击、鼠标移动等,处理事件就是为这个动作编写代码。

示例:创建一个点击按钮改变标签文本的应用

  1. 从工具箱拖动一个 Label 控件到窗体,将其 (Name) 属性改为 lblDisplayText 属性改为“你好”。
  2. 拖动一个 Button 控件到窗体,将其 (Name) 属性改为 btnClickMeText 属性改为“点击我”。
  3. 双击 btnClickMe 按钮,Visual Studio 会自动切换到代码视图,并为你创建一个按钮的点击事件处理方法 btnClickMe_Click
  4. 在该方法中编写代码:
Private Sub btnClickMe_Click(sender As Object, e As EventArgs) Handles btnClickMe.Click
    ' 当按钮被点击时,执行这里的代码
    lblDisplay.Text = "你点击了按钮!"
End Sub

代码解释:

  • Private Sub ... Handles ...:这是一个私有的事件处理过程。Handles 关键字将这个过程与 btnClickMeClick 事件关联起来。
  • sender As Object:代表触发事件的控件(在这里就是 btnClickMe 本身)。
  • e As EventArgs:包含事件相关的数据(通常用不到)。

现在运行程序(F5),点击按钮,你会看到标签的文本发生了变化。


第四部分:进阶主题

第10章:异常处理

使用 Try...Catch...Finally 结构来处理程序运行时可能发生的错误,防止程序崩溃。

Sub Main()
    Dim num1 As Integer, num2 As Integer, result As Integer
    Console.Write("请输入第一个数字: ")
    num1 = Convert.ToInt32(Console.ReadLine())
    Console.Write("请输入第二个数字: ")
    num2 = Convert.ToInt32(Console.ReadLine())
    Try
        ' 可能会出错的代码放在这里
        result = num1 / num2
        Console.WriteLine("结果是: " & result)
    Catch ex As DivideByZeroException
        ' 当发生除以零的错误时执行
        Console.WriteLine("错误:不能除以零!")
    Catch ex As FormatException
        ' 当输入的不是有效数字时执行
        Console.WriteLine("错误:请输入有效的数字!")
    Catch ex As Exception
        ' 捕获所有其他类型的错误
        Console.WriteLine("发生了一个未知错误: " & ex.Message)
    Finally
        ' 无论是否发生错误,这里的代码都会执行
        Console.WriteLine("计算结束。")
    End Try
End Sub

第11章:文件操作

VB.NET 提供了强大的类来读写文件。

写入文本文件:

Dim filePath As String = "C:\test\mylog.txt"
Dim textToWrite As String = "这是一条日志信息。" & Environment.NewLine & "时间: " & DateTime.Now
' 使用 Using 语句可以确保文件流在使用后被正确关闭
Using writer As New StreamWriter(filePath)
    writer.WriteLine(textToWrite)
End Using
Console.WriteLine("文件写入成功。")

读取文本文件:

filePath = "C:\test\mylog.txt"
Using reader As New StreamReader(filePath)
    Dim line As String
    Do
        line = reader.ReadLine()
        If line IsNot Nothing Then
            Console.WriteLine(line)
        End If
    Loop Until line Is Nothing
End Using

学习资源推荐

  1. 微软官方文档: VB.NET 文档 - 最权威、最全面的学习资料。
  2. Visual Studio 用户指南: 熟悉 IDE 的各种功能。
  3. 在线教程网站:
  4. 视频平台: 在 Bilibili、YouTube 上搜索 "VB.NET 教程",有大量视频课程可供选择。

Visual Basic 是一门非常友好的编程语言,尤其适合初学者建立编程思维,它的核心在于 面向对象事件驱动,通过本教程,你已经掌握了从环境搭建、基础语法、OOP 到创建简单 GUI 应用的全过程。

学习建议:

  • 多动手实践: 理论学得再多,不如亲手写一个项目。
  • 从模仿开始: 尝试复制一些简单的小工具,然后逐步加入自己的想法。
  • 学会调试: 学会使用 Visual Studio 的调试器(设置断点、逐行执行)是解决问题的关键技能。
  • 阅读优秀代码: 阅看别人写的开源项目代码,能让你学到很多技巧。

祝你学习愉快!

分享:
扫描分享到社交APP
上一篇
下一篇