尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Visual Basic入门指南:从零搭建开发环境到编写第一个Windows程序

Visual Basic入门指南:从零搭建开发环境到编写第一个Windows程序 1. 为什么今天还要学Visual Basic如果你在2024年听到“Visual Basic”这个词第一反应可能是“这不是老古董吗”或者“现在谁还用这个”。确实在Python、JavaScript、Go等现代语言大行其道的今天Visual Basic尤其是经典的VB6和早期的VB.NET似乎已经淡出了主流开发者的视野。但作为一名在Windows桌面应用、企业遗留系统维护和自动化领域摸爬滚打多年的老程序员我想告诉你一个反直觉的事实Visual Basic不仅没有死而且在某些特定场景下它依然是一门极具生产力和价值的“活”语言。我之所以写这个入门系列绝不是为了怀旧。恰恰相反是因为我看到了太多现实中的需求。比如你所在的公司可能有一套运行了十几年的、用VB6编写的核心业务系统它稳定、高效但没人敢动因为没人懂VB。又或者你是一个财务、行政或工程领域的非专业程序员每天需要处理大量重复的Excel、Word或AutoCAD操作你想写个小工具解放双手却发现Python的库配置复杂C#的学习曲线陡峭。再或者你是一个学生或爱好者想快速理解“什么是编程”想亲手做出一个带按钮、文本框、能响应用户点击的窗口程序获得最直观的成就感。在这些场景下Visual Basic特别是VB.NET的优势就凸显出来了极低的入门门槛它的语法接近自然英语If...Then...Else、For...Next几乎一看就懂。这让初学者能快速跨越“语法恐惧”把精力集中在理解编程逻辑本身。强大的快速应用开发能力在Visual Studio中你可以像搭积木一样通过拖拽控件按钮、文本框、列表框来设计界面然后双击控件编写事件代码。这种“所见即所得”的开发体验对于构建小型桌面工具、内部管理系统来说效率极高。深厚的Windows原生集成VB与Windows操作系统、Office套件通过COM、以及大量的历史ActiveX控件有着天然的亲和力。处理一个复杂的Excel报表用VB几行代码就能搞定而用其他语言可能需要引入并学习一整个第三方库。庞大的遗留代码库全球有数百万行计的VB代码仍在各行各业的核心系统中运行。理解VB就意味着你拥有了维护、优化甚至现代化改造这些“沉默资产”的能力这在很多企业里是一项稀缺且宝贵的技能。所以这个指南的目标读者很明确对编程感兴趣的绝对新手需要处理Office自动化或开发小型Windows工具的非专业开发者以及不得不与遗留VB系统打交道的IT维护人员。我们不讨论高深的架构和前沿的技术我们就从“如何让电脑听你的话帮你完成一件具体的事”开始。我会带你绕过我当年踩过的坑用最直白的方式把VB里那些真正有用的核心概念和技巧讲清楚。注意本系列将主要基于VB.NET进行讲解。VB.NET是VB6的现代化继承者运行在.NET Framework/.NET Core现在叫.NET之上。它语法更现代、更安全并且能与C#等语言无缝互操作是当前微软生态中VB家族的主力。虽然一些语法和概念与经典的VB6略有不同但核心思想一脉相承。对于纯粹的VB6内容我会特别指出。2. 搭建你的第一个VB开发环境工欲善其事必先利其器。对于VB.NET开发我们首选的工具就是微软官方的Visual Studio。别被它的名字吓到我们有完全免费的社区版可用功能对于学习和绝大多数个人、小型团队开发来说已经绰绰有余。2.1 安装Visual Studio Community前往下载访问Visual Studio官方网站找到Visual Studio Community版本的下载链接。目前最新的稳定版本是Visual Studio 2022。运行安装程序下载完成后运行安装程序。你会看到一个“工作负载”选择界面。这里是我们需要仔细配置的地方。选择正确的工作负载在“工作负载”选项卡中找到并勾选“.NET 桌面开发”。这个工作负载包含了开发Windows窗体应用WinForms、WPF应用以及控制台应用所需的所有组件当然也包括VB.NET的语言支持。为什么是“.NET桌面开发”而不是别的因为VB.NET最经典、最快速的用武之地就是开发带有图形界面的Windows桌面程序。这个工作负载是为此量身定制的。可选组件在右侧的“安装详细信息”中确保“Visual Basic”已经被选中通常默认选中。你也可以根据需要勾选“.NET Framework 4.8 SDK”等不同版本的开发包以兼容旧项目。对于初学者默认选项即可。安装路径如果你C盘空间紧张可以点击“安装位置”选项卡将Visual Studio本体、SDK和工具缓存安装到其他盘符。不过请确保路径中没有中文和特殊字符避免不必要的麻烦。开始安装点击右下角的“安装”按钮。这个过程会持续一段时间取决于网速和电脑性能可能需要30分钟到1小时喝杯咖啡耐心等待。安装完成后启动Visual Studio你会看到登录界面。你可以选择用微软账户登录可以同步一些设置也可以选择“暂时跳过此项”。2.2 创建你的第一个VB项目“Hello, World!”启动后让我们用最经典的方式开启编程之旅——创建一个“Hello, World!”程序。不过我们不做枯燥的控制台输出而是做一个带界面的这样更有VB的感觉。启动新项目在启动窗口点击“创建新项目”。在项目模板搜索框中输入“Windows窗体应用”然后在下拉列表中选择“Windows窗体应用(.NET Framework)”注意模板描述语言为“Visual Basic”。为什么选择.NET Framework而不是.NETCore对于纯粹的VB.NET桌面初学者.NET Framework版本更加成熟稳定第三方组件和教程资源也最丰富。.NETCore是跨平台的新方向我们可以在后续进阶中再接触。配置项目项目名称输入MyFirstVBApp。一个好的项目名应该能清晰表达其功能。位置选择一个你容易找到的文件夹比如D:\VBProjects。解决方案名称默认会和项目名相同保持即可。框架选择.NET Framework 4.8或你安装的最高版本。点击“创建”。认识IDE界面项目创建成功后你会看到Visual Studio的主界面。对于新手重点关注这几个区域中间区域 - 窗体设计器这里显示着一个空白的窗口Form1这就是你程序的主界面。右侧 - 解决方案资源管理器这里以树形结构展示你项目中的所有文件。Form1.vb就是当前窗体的代码和设计文件。左侧 - 工具箱如果没看到可以按CtrlAltX打开。这里分类罗列了所有可以拖到窗体上的控件比如按钮Button、文本框TextBox、标签Label等。右下角 - 属性窗口如果没看到可以按F4打开。当你选中窗体或窗体上的某个控件时这里会显示该对象的所有属性如大小、颜色、文字和事件如点击、鼠标移动你可以在这里进行设置。设计界面从“工具箱”的“公共控件”分组中找到一个Label控件图标是个字母A用鼠标把它拖拽到中间的窗体Form1上。再拖拽一个Button控件到窗体上放在Label的下方。设置属性点击窗体上的Label1控件在右侧的“属性窗口”中找到Text属性。它现在的值是“Label1”。清空它让Label显示为空。找到Font属性点击旁边的...按钮可以弹出字体对话框。把字体调大一些比如改为“微软雅黑, 14pt”。点击Button1控件在属性窗口中将它的Text属性改为“点我打招呼”。你也可以点击窗体本身空白处在属性窗口中找到Text属性将其改为“我的第一个VB程序”。这个属性就是窗体标题栏显示的文字。编写第一行代码我们想让程序在点击按钮时在Label上显示文字。双击窗体上的Button1按钮。Visual Studio会自动为你生成按钮的点击事件处理程序并跳转到代码视图。你会看到类似下面的代码Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 你的代码写在这里 End Sub End Class在Private Sub Button1_Click...和End Sub这两行之间输入以下代码Label1.Text Hello, World! 欢迎来到VB的世界运行程序按下键盘上的F5键或者点击工具栏上绿色的“启动”按钮像播放键。Visual Studio会编译并运行你的程序。一个你刚刚设计的窗口弹出来了点击上面的“点我打招呼”按钮看看Label上是不是出现了你写的欢迎语恭喜你已经完成了第一个VB程序。它虽然简单但包含了VB.NET开发的完整核心流程创建项目、设计界面、设置属性、编写事件代码、运行调试。这个“拖控件-双击写代码”的模式是VB快速开发精髓的体现。3. 理解VB程序的核心骨架解决方案、项目与文件在兴奋之余我们有必要回头看看Visual Studio为我们创建了什么。理解这些基础概念能让你在后续开发中不迷路。解决方案在Visual Studio中解决方案.sln文件是一个容器它可以包含一个或多个项目。比如你有一个主程序项目一个类库项目用来放一些公共函数它们可以放在同一个解决方案里方便管理。我们刚创建的MyFirstVBApp.sln就是一个解决方案文件。项目项目.vbproj文件是编译和部署的基本单位。我们的MyFirstVBApp就是一个项目。它定义了这是一个什么类型的程序Windows窗体应用引用了哪些外部库以及包含了哪些源代码文件。主要文件在“解决方案资源管理器”中展开你的项目你会看到几个关键文件Form1.vb这是窗体的代码文件。你写的所有VB代码都在这里。它其实对应两个视图“设计视图”你拖控件的界面和“代码视图”你写Button1_Click的地方。在解决方案资源管理器中右键点击Form1.vb可以选择“查看代码”或“视图设计器”进行切换。Form1.Designer.vb这是窗体的设计器代码文件。千万不要手动修改这个文件它是Visual Studio自动生成的里面记录了你拖拽的每个控件、设置的每个属性。当你从设计器拖一个按钮到窗体上VS就在这个文件里自动生成了一行代码来创建这个按钮对象并设置其初始位置。这个文件通常被折叠在Form1.vb下面。My Project文件夹这里面存放着项目的配置信息。其中Application.myapp文件可以设置程序图标、启动窗体等Resources.resx可以管理图片、字符串等资源Settings.settings可以管理应用程序设置如用户偏好。References这里列出了你的项目所依赖的外部程序集可以理解为别人写好的代码库。比如System.Windows.Forms就是用来创建Windows窗体界面的核心库。一个常见的误区是新手会直接在Form1.Designer.vb里写代码这会导致一旦你在设计视图做了改动VS重新生成这个文件时你的手工修改就被覆盖了。记住你的业务逻辑代码永远写在主代码文件如Form1.vb里设计器文件交给VS自动管理。4. VB语法初探变量、数据类型与基础运算现在让我们暂时离开图形界面深入到代码的背后看看VB语言本身的一些基础规则。这些规则是构建更复杂程序的基石。4.1 声明变量与基本数据类型变量就像程序里的储物盒用来存放数据。在VB中声明变量使用Dim关键字。Dim userName As String Dim userAge As Integer Dim accountBalance As Decimal Dim isActive As BooleanDim 意思是“Dimension”维度来源于古老的BASIC语言在这里就是“声明一个变量”的意思。userName 这是你给变量起的名字叫标识符。命名要有意义最好使用“驼峰命名法”或“帕斯卡命名法”并且避免使用拼音。As String 这指定了变量的数据类型。String表示文本字符串Integer表示整数Decimal表示高精度小数常用于财务计算Boolean表示布尔值True或False。VB中常见的数据类型数据类型关键字描述示例整数Integer32位有符号整数Dim count As Integer 100长整数Long64位有符号整数Dim bigNumber As Long 3000000000单精度浮点数Single32位浮点数Dim temperature As Single 36.5F双精度浮点数Double64位浮点数默认小数类型Dim pi As Double 3.1415926535高精度小数Decimal128位十进制数无舍入误差Dim price As Decimal 19.99D字符串String文本序列Dim name As String 张三布尔值Boolean真或假Dim isOk As Boolean True日期时间Date日期和时间Dim today As Date Date.Now实操心得DecimalvsDouble这是新手极易混淆的一点。简单记住凡是和钱有关的计算一律用Decimal。Double采用二进制浮点数表示像0.1这样的十进制小数时会有微小的舍入误差多次累加后误差会放大在财务计算中是灾难。Decimal是专为财务计算设计的十进制浮点数能精确表示十进制小数。虽然Decimal运算比Double慢但在现代计算机上这点性能差异对于大多数应用微不足道正确性优先。4.2 给变量赋值与基础运算声明变量后就可以给它赋值了。使用等号进行赋值。userName 李四 将字符串李四赋给userName变量 userAge 25 accountBalance 1000.5D 注意Decimal类型的字面量建议加D后缀 isActive True也可以声明的同时赋值Dim city As String 北京 Dim score As Integer 95基础运算VB支持常见的算术、比较和逻辑运算。算术运算加、-减、*乘、/除返回浮点数、\整除返回整数、Mod求余、^幂。Dim a As Integer 10 Dim b As Integer 3 Dim sum As Integer a b 13 Dim quotient As Double a / b 3.33333333333333 Dim intQuotient As Integer a \ b 3 Dim remainder As Integer a Mod b 1比较运算等于、不等于、大于、小于、大于等于、小于等于。比较运算的结果是Boolean值。Dim isEqual As Boolean (a 10) True Dim isGreater As Boolean (a b) True逻辑运算And与、Or或、Not非、AndAlso短路与、OrElse短路或。常用于条件判断。Dim condition1 As Boolean True Dim condition2 As Boolean False Dim resultAnd As Boolean condition1 And condition2 False Dim resultOr As Boolean condition1 Or condition2 True Dim resultNot As Boolean Not condition1 False重要技巧短路运算符AndAlso和OrElse这是VB和很多现代语言提供的优化。看这个例子If (obj IsNot Nothing) And (obj.Value 10) Then。如果obj是Nothing空那么计算obj.Value时就会引发“未将对象引用设置到对象的实例”的运行时错误。而如果使用AndAlsoIf (obj IsNot Nothing) AndAlso (obj.Value 10) Then当(obj IsNot Nothing)为False时VB会直接判定整个条件为False不会再计算后面的(obj.Value 10)从而避免了错误。OrElse同理。在条件判断中养成使用AndAlso和OrElse的习惯能让你的代码更健壮。4.3 与用户交互MessageBox与Console在图形界面程序里除了在Label上显示我们经常需要弹出一个临时的小窗口来提示用户或获取简单确认。这就是MessageBox消息框。 显示一个信息提示框 MessageBox.Show(操作已完成, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information) 显示一个带“是/否”选择的询问框并根据用户选择做出反应 Dim result As DialogResult MessageBox.Show(确定要删除吗, 确认删除, MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result DialogResult.Yes Then 用户点击了“是”执行删除操作 Label1.Text 用户选择了删除。 Else 用户点击了“否” Label1.Text 操作已取消。 End IfMessageBox.Show方法参数丰富可以控制显示的文本、标题、按钮组合和图标。DialogResult枚举包含了用户可能点击的按钮结果如OK、Cancel、Yes、No等。对于更简单的调试输出或者你是编写控制台程序可以使用Console类。Console.WriteLine(这行文字会输出到控制台。) Dim input As String Console.ReadLine() 从控制台读取一行用户输入在Windows窗体应用中默认没有控制台窗口。如果你想看到Console.WriteLine的输出需要在项目属性中设置“应用程序类型”为“控制台应用程序”但这通常不是窗体应用的做法。更常见的调试方式是使用Debug.WriteLine输出会显示在Visual Studio的“输出”窗口视图 - 输出中这在调试时非常方便。Imports System.Diagnostics 需要在文件顶部引入命名空间 Debug.WriteLine(调试信息变量a的值为 a)掌握了这些基础你就有了和程序“对话”的工具。变量让你能记住信息运算让你能处理信息而MessageBox和Console则让你能和用户交换信息。接下来我们将学习如何让程序根据不同的情况做出不同的决策这就是控制流。
返回列表