还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
程序设计教程Visual Basic欢迎来到程序设计教程本课程旨在带领您进入编程的奇妙世Visual Basic界,特别是通过这一强大而直观的编程语言无论您是编程新手Visual Basic还是有经验的开发者,这门课程都将为您提供全面的知识和实践技能在接下来的课程中,我们将从的基础知识开始,逐步深入到更复杂的编程VB概念和应用实例通过理论讲解与实践项目相结合的方式,帮助您掌握Visual程序设计的核心技能,为您未来的软件开发之路打下坚实基础Basic什么是?Visual Basic1年1991微软发布第一版,开创了可视化编程的新时代Visual Basic2年1995发布,成为第一个既能创建位也能创建位应用程序的版本VB
4.01632Windows3年1998发布,成为最流行的版本之一,对编程产生深远影响VB
6.0Windows4年2002发布,成为框架的重要组成部分,延续至今Visual Basic.NET.NET是由微软公司开发的一种面向对象的编程语言,它简化了应用程序的开发Visual BasicWindows过程最大的特点是其可视化界面设计方式,允许开发者通过拖放控件创建用户界面,大大VB降低了编程的门槛在应用领域方面,被广泛应用于企业管理系统、教育软件、游戏开发、数据库应用Visual Basic等多个方面它的简单易学特性使其成为初学者学习编程的理想选择,同时它的强大功能也满足了专业开发者的需求集成开发环境()概览VB IDE菜单栏与工具栏包含各种命令和快捷工具,如文件操作、编辑功能、项目管理等常用功能的访问入口工具箱包含各种可用于界面设计的控件,通过拖放方式放置到窗体上,是可视化编程的核心部分VB属性窗口用于查看和修改当前选中对象的属性,如名称、大小、颜色等,是调整控件外观和行为的主要途径代码编辑器用于编写和修改程序代码,支持语法高亮和智能提示,帮助开发者提高编码效率和准确性的集成开发环境是一个功能齐全的开发工具集,它整合了代码编辑、界面设计、编译和调试等多Visual BasicIDE种功能这种一体化的设计大大提高了开发效率,使开发者能够专注于解决问题而非工具的使用的采用了模块化设计,各个窗口可以根据开发者的喜好进行调整和布局除了上述主要组件外,还包括项目VB IDE资源管理器、即时窗口、调试工具等辅助功能,共同构成了一个强大而灵活的开发平台新建项目流程VB启动Visual Basic双击桌面图标或从开始菜单中选择程序,打开集成开发环境Visual Basic选择新建项目在文件菜单中选择新建项目,或使用快捷键Ctrl+N选择项目类型从项目类型列表中选择标准、等项目模板EXE ActiveXDLL保存项目选择文件菜单中的保存项目,指定项目名称和保存位置创建一个新的项目是开始编程的第一步在中,项目是组织和管理相关程序文件的容Visual BasicVB器,它可以包含一个或多个窗体、模块和类模块等组件正确创建和保存项目不仅有助于代码的组织管理,也便于后续的开发和维护工作在保存项目时,会生成多个文件,包括(项目文件)、(窗体文件)等建议为每个项目VB.vbp.frm创建专门的文件夹,以便更好地管理这些文件此外,养成定期保存项目的习惯也是避免意外数据丢失的重要做法基本术语解析VB控件()Control表单()Form放置在表单上的元素,如按钮、文本框UI等,用于用户交互应用程序的可视化窗口,用户界面的基础容器,可以放置各种控件属性()Property描述对象特征的值,如大小、颜色、名称等,可在属性窗口中修改事件()Event由用户动作或系统触发的操作,如点击、按方法()Method键等,是程序响应的基础对象可以执行的操作或动作,通过代码调用理解的基本术语是掌握编程的关键这些概念构成了面向对象编程的基础,它们相互关联,共同定义了程序的结构、外观和行Visual BasicVB VB为在的编程模型中,对象(如表单和控件)通过属性、方法和事件三个方面来定义和操作属性描述对象是什么,方法表示对象能做什么,而VB事件则决定对象何时做掌握这些基本概念,将有助于理解程序的设计思路和运行机制VB常用数据类型VB数据类型内存占用值范围适用场景字节到一般整数计算Integer2-32,76832,767字节到大范围整数Long4-2,147,483,6482,147,483,647字节到一般精度小数Single4-
3.402823E
383.402823E38字节高精度计算Double8-
1.79769313486232E30到
81.79769313486232E308可变到亿字符文本处理String020字节或逻辑判断Boolean2True False字节到日期时间处理Date81/1/10012/31/9999数据类型是编程语言中最基础的概念之一,它定义了变量可以存储的数据种类和范围在中,选择合Visual Basic适的数据类型不仅关系到程序的正确性,还会影响程序的性能和内存使用效率提供了丰富的内置数据类型,从简单的数值类型到复杂的日期和字符串类型了解每种数据类型的特点和适用场VB景,有助于编写更高效、更稳定的程序此外,还支持用户自定义类型()和对象类型,为复杂数据处理VB Type提供更大的灵活性变量与常量的声明与使用变量声明常量声明显式声明变量局部常量Dim intAge As IntegerConst PIAs Double=
3.14159Dim strNameAs StringDimdblSalary As Double模块级常量Private ConstMAX_USERS As Integer=100多变量声明Dim xAs Integer,y As Integer公共常量Public ConstAPP_NAME As String=我的应用带初始值的声明Dim intCountAs Integer=10无类型常量Const GREETING=欢迎使用模块级变量Private mstrUserNameAs String在中,变量是用于存储数据的内存位置,而常量则是在程序执行过程中不可改变的值正确声明和使用变量与常量是编写高质量代码的基础使用关键字声明变Visual BasicDim量,使用关键字声明常量,都需要指定名称和数据类型Const支持变量的显式声明和隐式声明显式声明(使用、或等关键字)是推荐的做法,它可以避免拼写错误和类型不匹配等常见问题通过在模块顶部添加VB DimPrivate Public语句,可以强制要求所有变量必须先声明后使用,这是一种良好的编程习惯Option Explicit运算符与表达式算术运算符关系运算符逻辑运算符+(加),-(减),*(乘),/(除),\(整=(等于),(不等于),(小于),And(与),Or(或),Not(非),Xor除),^(幂),Mod(取模)(大于),=(小于等于),=(大于等(异或)于)Dim resultAs IntegerIf age18And score60result=10+5*2结果为If age=18Then Then20MsgBox成年人MsgBox合格End IfEnd If字符串运算符(连接),Like(模式匹配)Dim fullNameAs StringfullName=firstNamelastName表达式是由变量、常量、运算符和函数组成的组合,用于计算和产生值Visual Basic提供了丰富的运算符类型,以支持各种数据操作和逻辑判断理解运算符的优先级和结合规则,是正确构建复杂表达式的关键在实际编程中,运算符往往组合使用,形成复杂的表达式为提高代码可读性,建议使用括号明确表达式的计算顺序,即使在某些情况下括号是可选的此外,不同数据类型之间的运算可能涉及类型转换,需要特别注意可能出现的精度损失或溢出问题控件初识标签控件(Label)用于显示文本信息,通常不接受用户输入,适合作为其他控件的说明文字或显示程序状态文本框控件(TextBox)用于接收用户输入的文本或显示可编辑的文本内容,是最常用的数据输入控件命令按钮控件(CommandButton)用于触发特定操作的按钮,如提交表单、确认操作或取消当前任务控件是Visual Basic程序设计中不可或缺的元素,它们构成了应用程序的用户界面,实现了人机交互功能VB提供了丰富的内置控件,每种控件都有特定的用途和属性集合,了解这些控件的基本特性和使用方法,是掌握VB界面设计的第一步在VB中添加控件非常简单,只需从工具箱中选择所需控件,然后在窗体上绘制即可放置控件后,可以通过属性窗口调整其外观和行为,通过代码窗口编写响应各种事件的处理代码正确选择和组合使用这些控件,可以构建出功能完善、用户友好的应用界面控件属性设置基本标识属性外观属性行为属性控件的唯一标识符,用于代显示的文本标题是否可用•Name•Caption•Enabled码中引用背景颜色是否可见•BackColor•Visible控件数组中的索引值•Index前景(文本)颜色键导航顺序•ForeColor•TabIndex Tab存储附加信息的自定义属性•Tag文本字体设置是否可通过键访问•Font•TabStop Tab控件属性是定义控件外观和行为的特性值,通过设置这些属性,可以自定义控件在应用程序中的表现形式提供了直观的属性窗VB口,让开发者能够方便地查看和修改当前选中控件的各项属性属性设置可以在设计时通过属性窗口完成,也可以在运行时通过代码动态调整设计时设置的属性值会保存在窗体的定义文件中,构成控件的初始状态;而运行时修改的属性则反映了程序执行过程中的状态变化合理利用这两种设置方式,可以实现更灵活、更动态的用户界面控件方法与常用操作方法SetFocus将输入焦点设置到指定控件,使其能接收键盘输入例如txtName.SetFocus方法Move调整控件的位置和大小语法control.Move left,top,width,height方法Refresh刷新控件显示,确保显示最新状态在更新多个相关属性后使用方法Drag启动或结束控件的拖放操作支持参数vbBeginDrag,vbEndDrag,vbCancel方法是控件能够执行的操作或功能,通过调用控件的方法,程序可以控制控件的行为和状态变化在中,每种控件都有其特定的方法集合,这些方法通常与控件的主要功能相关,如文本框的文本选VB择方法、列表框的项目管理方法等调用控件方法的一般语法是对象名方法名参数列表,例如或.txtAddress.SetFocus新项目某些方法可能需要一个或多个参数,用于指定操作的细节正确理解lstItems.AddItem和使用这些方法,可以实现更精细的控件操作和更复杂的用户交互事件处理机制事件Click当用户点击控件时触发,是最常用的事件之一事件DblClick当用户双击控件时触发,通常用于打开项目或执行主要操作事件KeyPress/KeyDown/KeyUp响应键盘操作,处理用户输入和快捷键事件Change当控件内容变化时触发,常用于实时验证输入事件Load/Unload窗体加载和卸载时触发,用于初始化和清理工作事件驱动是程序设计的核心理念,程序通过响应各种事件(如用户操作、系统通知等)来执行相应的代码每个控件都有一系列可能发生的事件,当事件触发时,与之关联的事件处Visual Basic理过程()就会被执行Event Procedure创建事件处理程序通常有两种方式在代码窗口中从对象和事件下拉列表选择,或者在设计视图中双击控件(创建默认事件处理程序)事件处理程序的命名遵循对象名事件名的格式,如_在同一事件处理程序中,可以访问触发事件的控件的所有属性和方法,以实现复杂的交互逻辑cmdSubmit_Click与输入对话框MessageBox对话框是与用户进行交互的重要方式,提供了两种内置的对话框函数和用于显示信息并获取用户的简单反馈(如确认、取消Visual BasicMsgBox InputBoxMsgBox等),而则用于收集用户输入的文本数据InputBox函数语法其中参数可以组合不同的按钮类型(如)和图标样式(如MsgBox MsgBoxprompt[,buttons][,title][,helpfile,context]buttons vbOKOnly,vbYesNo)函数返回一个表示用户所点击按钮的值,可以用于条件判断vbInformation,vbCritical MsgBox函数语法它显示一个包含文本框的对话框,并返回用户输入的字符串如果用户点击InputBox InputBoxprompt[,title][,default][,xpos][,ypos][,helpfile,context]取消按钮,则返回空字符串字符串处理基础函数功能示例结果Lenstring返回字符串长度Len你好世界4Leftstring,length返回左侧指定数量的字符LeftVisual Basic,6VisualRightstring,length返回右侧指定数量的字符RightVisual Basic,5BasicMidstring,start,length返回中间部分字符MidVisual Basic,8,5BasicInStr[start],string,substring查找子字符串位置InStrVisual Basic,Basic8LCasestring/UCasestring转换为小写/大写UCaseVisual VISUALTrimstring/LTrimstring/RTrimstring删除空格Trim VBVB字符串处理是编程中最常见的任务之一,Visual Basic提供了丰富的字符串处理函数,使文本操作变得简单高效这些函数可以执行各种常见操作,如截取子字符串、查找替换、大小写转换等,为文本处理提供了强大支持在使用字符串函数时,需要注意几点字符位置索引从1开始(不同于许多其他语言从0开始);字符串比较可能受Option Compare设置影响(Binary或Text模式);处理大量文本时,连接操作(运算符)可能影响性能,考虑使用StringBuilder对象合理使用这些函数,可以显著简化文本处理工作数值转换和格式化函数函数Val Str将字符串转换为数值语法将数值转换为字符串语法Valstring Strnumber示例返回;示例返回(注意前导空Val
123.
45123.45Str
123.
45123.45返回格)Val123ABC123注意只转换字符串开头的有效数字部分,遇注意正数前会添加一个空格,可以用函Trim到非数字字符停止数去除函数Format根据指定格式将表达式格式化为字符串语法Formatexpression[,format]示例返回Format
12345.67,###,###.##12,
345.67内置格式、、、等Currency FixedStandard Percent在实际应用中,数值与字符串之间的转换和格式化是非常常见的需求无论是将用户输入的文本转换为可计算的数值,还是将计算结果格式化为友好的显示形式,都需要用到这些转换和格式化函数除了上述函数外,还提供了更专业的转换函数,如、、等,它们不仅可以执行转换,VB CIntCLng CDbl还会进行类型检查和必要的舍入对于更复杂的格式化需求,函数提供了强大的自定义格式字符Format串功能,可以精确控制数值的显示方式,包括千位分隔符、小数位数、货币符号、百分比等多种格式选项流程控制结构总览顺序结构按照代码的自然顺序从上到下依次执行选择结构根据条件判断结果选择不同的执行路径循环结构重复执行特定代码块直到满足终止条件流程控制是编程语言中控制程序执行路径的机制,它决定了代码的执行顺序和条件在中,流程控制结构主要分为三类顺序结Visual Basic构、选择结构和循环结构这些结构可以嵌套使用,构建出复杂的程序逻辑顺序结构是最简单的流程控制形式,代码按照编写顺序依次执行选择结构(如语句和语句)根据条件判断决定执行哪一段代If Select Case码循环结构(如循环和循环)用于重复执行特定的代码块,直到满足某个条件理解和掌握这些基本的流程控制结构,是编写任何有For Do意义程序的前提条件分支If...Then...Else单分支结构双分支结构多分支结构单行形式If temperature30Then If score=90ThenIf age=18Then MsgBox成年人MsgBox天气炎热grade=优clothing=夏装ElseIf score=80Then块形式Else grade=良Ifscore=60Then MsgBox温度适宜ElseIf score=60ThenMsgBox及格clothing=常规服装grade=及格passed=True EndIf ElseEndIf grade=不及格End IfIf...Then...Else语句是Visual Basic中最基本的条件判断结构,用于根据条件的真假选择不同的执行路径它可以根据需要采用单分支、双分支或多分支形式,适应各种条件判断场景在实际编程中,If语句经常与逻辑运算符(And、Or、Not)组合使用,形成复合条件例如If age=18And score=60Then此外,If语句还可以嵌套使用,在一个If块内部再包含另一个If语句,以处理更复杂的条件逻辑但过深的嵌套可能导致代码难以理解和维护,这种情况下可以考虑使用Select Case语句或重构代码结构多分支语句Select Case基本语法实际示例Select Case表达式Select CasescoreCase值1Case100[语句块1]grade=满分Case值2Case90To99[语句块2]grade=优秀Case值3,值4Case80To89[语句块3]grade=良好Case Is值5Case60To79[语句块4]grade=及格Case值6To值7Case Is60[语句块5]grade=不及格Case Else Case Else[默认语句块]grade=无效分数End SelectEnd Select语句是一种强大的多分支选择结构,它比嵌套的语句更加清晰和高效当需要根据同一个表达式的不同值选择多个执行路径时,是理想的选择Select CaseIf...Then...Else Select Case支持多种匹配模式精确值匹配、值列表匹配(用逗号分隔)、范围匹配(使用关键字)和条件匹配(使用运算符)这种灵活性使它能够处理各种复杂的分支逻辑SelectCaseTo IsCase子句用于处理所有其他情况,相当于语句中的最后一个如果没有子句匹配,且没有提供,则跳过整个块,不执行任何操作Else IfElseCaseCase ElseSelectCase循环For...Next循环初始化设置循环变量的初始值,如For i=1条件检查检查循环变量是否达到终止值,如i=10执行循环体如果条件为真,执行循环体内的代码更新循环变量增加或减少循环变量,如或Step1Step-1重复循环返回条件检查步骤,直到条件为假循环是一种计数循环结构,适用于需要执行固定次数的循环场景它自动管理循环计数器的初始化、递增和终止检查,使得代码更加简洁和可靠基本语法为For...Next Forcounter=start Toend[Step step]...Next[counter]循环的执行流程是首先初始化计数器,然后检查是否达到终止条件,如果未达到则执行循环体,更新计数器后再次检查条件,如此循环直至条件不满足关键字用于指定计数器的变化For Step幅度,默认为,可以是正数(递增)或负数(递减)在循环体内可以使用语句提前退出循环,这在满足特定条件需要中止循环时非常有用1Exit For循环Do...LoopDo...Loop循环是一种条件循环结构,适用于循环次数不确定,需要根据条件决定是否继续循环的场景Visual Basic提供了四种形式的Do...Loop循环,分别是前置条件循环(While)当条件为真时执行循环Do While condition[statements]Loop前置条件循环(Until)当条件为假时执行循环Do Untilcondition[statements]Loop后置条件循环(While)至少执行一次,然后当条件为真时继续循环Do[statements]Loop Whilecondition后置条件循环(Until)至少执行一次,然后当条件为假时继续循环Do[statements]Loop Untilcondition循环While...WendWhile...Wend基本结构实例数字累加实例用户输入验证WhileconditionDim sumAs Integer,i AsInteger Diminput As String[statements]sum=0While input退出Wend i=1input=InputBox请输入指令_While i=100(输入退出结束程序):sum=sum+i Ifinput退出Theni=i+1处理输入...Wend EndIfMsgBox1到100的和为:sum WendWhile...Wend循环是Visual Basic中较早的循环结构,虽然在新版本中被Do...Loop所取代,但为了兼容性仍然保留它执行前置条件检查,只要条件为真就继续循环,一旦条件变为假就退出循环与Do...Loop相比,While...Wend有一些限制它不支持Until形式(只能用Not反转条件);没有等效的Exit语句可以提前退出循环;也不支持后置条件检查因此,在新开发的程序中,通常推荐使用更灵活的Do...Loop结构但对于简单的前置条件循环,While...Wend仍然是一个简洁有效的选择,特别是在处理逻辑简单、循环体较短的场景跳转语句与错误处理GoTo语句On Error语句无条件跳转到程序中标记的位置虽然使用过多会导致意大利面式代码设置程序的错误处理方式,可以指定错误发生时跳转到特定标签或忽略,但在特定场景如错误处理中仍有用处错误If errThen GoToErrorHandler启用错误处理On ErrorGoTo ErrHandler正常代码...Exit Sub禁用错误处理On ErrorResume NextErrorHandler:错误处理代码...恢复默认错误处理On ErrorGoTo0Err对象提供有关运行时错误的信息,包括错误号、描述和发生位置在错误处理程序中常用If Err.Number0ThenMsgBox错误Err.Number_:Err.DescriptionErr.ClearEnd If跳转语句和错误处理是控制程序流程的重要机制,特别是在处理异常情况时GoTo语句允许程序无条件跳转到指定标签,虽然在现代编程中不鼓励过度使用,但在错误处理等特定场景下仍然有其价值Visual Basic的错误处理机制以On Error语句为核心,配合Err对象提供错误信息通过On ErrorGoTo语句可以指定当错误发生时跳转到的错误处理程序;On ErrorResume Next则允许程序在错误发生后继续执行,适用于非关键操作;而On ErrorGoTo0则关闭当前的错误处理程序,恢复默认错误行为良好的错误处理设计是健壮程序的重要组成部分,它使程序能够优雅地处理异常情况而不是意外终止小项目计算器界面与实现这个简易计算器项目将综合应用前面所学的多种知识点,包括窗体设计、控件属性设置、事件处理、数值计算等首先,我们需要设计计算器的用户界面,包括一个显示结果的文本框、数字按钮()、运算符按钮(加减乘除)、等号按钮和清除按钮等布局应该简洁明了,操作直观0-9在功能实现方面,需要编写各个按钮的事件处理程序数字按钮点击时将相应数字添加到显示框;运算符按钮点击时保存当前数值和运算符;等号按钮点Click击时执行计算并显示结果;清除按钮则重置所有状态还需要考虑输入验证、错误处理、连续计算等细节问题通过这个小项目,可以巩固基本控件的使用和事件驱动编程模式,同时培养程序设计的整体思维自定义过程与函数过程函数Sub Function执行一系列语句但不返回值的过程执行一系列语句并返回值的过程声明Sub过程声明Function函数Public SubShowMessageByVal msgAs StringPublic FunctionCalculateAreaByVal radiusAs DoubleAsMsgBox msg,vbInformation,提示DoubleEnd SubCalculateArea=
3.14159*radius*radiusEnd Function调用Sub过程ShowMessage欢迎使用本程序调用Function函数或Dim areaAs DoubleCallShowMessage欢迎使用本程序area=CalculateArea5MsgBox面积为:area自定义过程和函数是程序模块化的重要手段,它们允许开发者将特定功能的代码封装起来,提高代码的可读性、可维护性和可重用性在中,过程分为过Visual BasicSub程和函数两种主要类型Function过程执行一系列操作但不返回值,适用于执行动作或任务;而函数则在执行操作后返回一个值,适用于计算或获取信息两者都可以接受参数,以增强其灵活Sub Function性和适用范围良好的过程和函数设计应遵循单一职责原则,即每个过程或函数只负责一项特定功能,这有助于提高代码的清晰度和后期维护的便利性参数传递与返回值处理按值传递ByVal传递参数的副本,过程内对参数的修改不影响原始变量这是VB的默认传递方式,保护原始数据不被意外修改按引用传递ByRef传递参数的引用,过程内对参数的修改会影响原始变量当需要过程修改参数值时使用,如交换两个变量的值可选参数Optional定义可以省略的参数,必须提供默认值增加函数的灵活性,允许在不同情况下使用不同数量的参数返回值处理函数通过给函数名赋值或使用Return语句返回结果调用代码可以忽略返回值(当作Sub使用)或捕获返回值进行后续处理参数传递是过程和函数与外部代码交互的重要机制,通过参数可以将信息传入过程或函数,而通过返回值(对于函数)或输出参数可以将结果传回调用方了解不同的参数传递方式及其影响,对于编写正确、高效的代码至关重要按值传递(ByVal)是最安全的传递方式,它创建参数的副本,确保过程不会修改原始数据这适用于大多数情况,特别是当参数是简单数据类型如整数或字符串时按引用传递(ByRef)则直接传递变量的引用,允许过程修改原始变量这在需要多个输出值或处理大型数据结构时很有用,但需要谨慎使用以避免意外修改Optional关键字允许定义可选参数,为更灵活的函数接口提供了可能作用域与生命周期全局作用域在模块级别使用声明,整个应用程序可访问Public模块作用域2在模块级别使用声明,仅在声明模块内可访问Private过程作用域在过程内声明,仅在该过程内可访问变量的作用域和生命周期是编程中重要的概念,它们决定了变量在何处可见以及存在多长时间作用域指的是变量可以被引用的程序范围,而生命周期则是变量存在于内存中的时间段理解这些概念对于编写可维护的代码和避免命名冲突至关重要在中,变量的作用域由其声明位置和访问修饰符(如、)决定全局变量(在模块级别使用声明)可以在整个应Visual BasicPublic PrivatePublic用程序中访问,但过度使用可能导致代码耦合度过高局部变量(在过程内声明)只在声明它的过程内可见,这有助于减少副作用和错误静态变量(使用关键字声明)在过程调用之间保持其值,这对于需要记住状态的过程很有用选择适当的作用域和生命周期是良好代码设计的重要部Static分常用内置过程与函数日期时间函数数学函数字符串函数返回当前系统日期返回绝对值返回字符串长度Date-Abs-Len-返回当前系统时间四舍五入转换大小写Time-Round-UCase/LCase-返回当前日期和时间取整数部分删除首尾空格Now-Int-Trim-添加指定的时间间隔生成随机数替换子字符串DateAdd-Rnd-Replace-转换函数转换为整数CInt/CLng-转换为浮点数CDbl/CSng-转换为字符串CStr-转换为日期CDate-提供了丰富的内置过程和函数,涵盖了日期时间处理、数学计算、字符串操作、类型转换等多个方Visual Basic面这些内置功能为开发者提供了强大的工具集,简化了常见编程任务,提高了开发效率掌握这些内置函数不仅可以避免重新发明轮子,还能确保代码的性能和可靠性例如,使用函数计算两DateDiff个日期之间的差值,比自己编写计算逻辑要简单可靠得多;而函数则提供了强大的格式化能力,适用于各种Format显示需求在实际编程中,应优先考虑使用这些内置功能,只有在特殊需求下才自行实现类似功能数组定义与操作一维数组多维数组固定大小数组声明二维数组声明Dim scores4AsInteger0-4共5个元素Dim matrix2,3AsInteger3行4列声明并初始化三维数组声明Dim colorsAs String={红,绿,蓝}Dim cube1,2,3AsDouble2x3x4赋值与访问赋值与访问scores0=95matrix0,0=1MsgBox第一个分数:scores0matrix1,2=5遍历嵌套循环遍历For i=0To UBoundscoresFor i=0To UBoundmatrix,1total=total+scoresi Forj=0To UBoundmatrix,2Next sum=sum+matrixi,jNextNext数组是存储同类型数据项集合的数据结构,它允许通过索引高效访问个别元素在Visual Basic中,数组可以是固定大小或动态的,可以有一个或多个维度数组声明使用Dim语句,可以在声明时指定大小或稍后通过ReDim调整大小VB数组的特点是索引默认从0开始(除非使用Option Base1),上界可以通过UBound函数获取处理数组时的常见操作包括遍历(使用For循环)、搜索(查找特定元素)、排序(重新排列元素)等多维数组适用于表格数据或矩阵运算,通过多个索引访问元素数组作为参数传递时默认按引用传递,这使得过程可以高效地处理和修改大型数据集合动态数组应用声明动态数组不指定大小,初始时不分配内存Dim dynamicArrayAsString分配内存使用ReDim分配或调整大小ReDim dynamicArray10分配11个元素保留现有数据使用Preserve关键字保留已有数据ReDim PreservedynamicArray20扩展数组释放内存不再需要时清空数组Erase dynamicArray释放内存动态数组是一种大小可以在程序运行时改变的数组,它提供了内存使用的灵活性,可以根据实际需要调整大小在处理未知大小的数据集合或需要频繁添加、删除元素的场景下,动态数组是理想的选择在Visual Basic中,使用ReDim语句调整动态数组大小如果需要保留现有数据,则使用ReDim Preserve语句;否则,数组内容将被清空需要注意的是,使用Preserve只能改变数组最后一个维度的大小,保留数据;对于多维数组,如果需要改变非最后维度的大小,则需要创建一个新数组并手动复制数据此外,频繁地调整数组大小可能影响性能,因此在高性能需求的场景下,可以考虑一次性分配足够大小或使用其他数据结构如Collection或ArrayList控件数组及其事件控件数组定义具有相同名称但索引不同的一组控件,可以共享事件处理程序,简化多控件管理创建控件数组设置相同的Name属性,不同的Index属性;或复制已有控件(VB自动分配索引)事件处理编写统一的事件处理程序,通过Index参数区分不同控件控件数组是Visual Basic的特殊功能,允许将多个相同类型的控件组织为一个数组,通过索引访问它们共享相同的名称、属性和事件处理程序,但每个控件有唯一的Index属性值控件数组的主要优势是可以使用一个事件处理程序响应多个控件的事件,通过检查Index值确定哪个控件触发了事件控件数组的事件处理程序形式为Private SubControlName_EventIndex AsInteger,其中Index参数告诉我们哪个数组成员触发了事件通过这种方式,可以为一组相似控件(如多个命令按钮、文本框等)提供统一的处理逻辑,同时保留定制每个控件行为的能力控件数组在处理重复UI元素时特别有用,如表单中的多行输入字段、游戏控制按钮或选项按钮组等集合()对象Collection创建集合Dim contactsAs NewCollection添加项目contacts.Add张三,id001参数项目值,[键],[前],[后]访问项目通过索引contacts1或contacts.Item1通过键contactsid001删除项目contacts.Remove1或contacts.Remove id001Collection对象是Visual Basic提供的一种动态数据结构,用于存储和管理一组相关项目与数组不同,Collection可以存储不同类型的数据,并且大小可以动态变化,无需预先声明大小或使用ReDim调整每个项目可以有一个关联的唯一键(字符串),使得通过键检索项目变得更加方便Collection提供了几个关键方法Add(添加项目)、Item(获取项目,可省略)、Remove(删除项目)和Count(获取项目数量)可以使用For Each循环遍历集合中的所有项目,这比使用索引遍历更加简洁和高效Collection的主要限制是不提供排序或搜索功能,项目的顺序由添加顺序决定,要查找特定值需要遍历整个集合尽管如此,Collection仍是处理动态数据集合的强大工具,特别适合需要按名称检索项目的场景字典()对象简介Dictionary创建字典添加键值对苹果Set dict=CreateObjectScripting.Dictionary dict.Add apple,删除键值对检查键是否存在dict.Remove appleIf dict.Existsapple Then...修改值读取值红苹果或dictapple=value=dictapple dict.Itemapple字典()对象是一种强大的键值对集合,由库提供与相比,提供了更多功能和更好的性能,特别是Dictionary Microsoft Scripting RuntimeCollection Dictionary在检查键是否存在和快速查找方面字典存储键值对,其中键必须唯一,可以是字符串或数值;值可以是任何类型,包括对象引用使用字典前,需要引用库(或使用创建实例)字典的主要方法包括(添加键值对)、(获取或设置值,可作MicrosoftScriptingRuntime CreateObjectAdd Item为默认属性省略)、(检查键是否存在)、(删除键值对)和(清空字典)字典还提供了和方法,分别返回所有键和值的数Exists RemoveRemoveAll KeysItems组,便于遍历字典在需要快速查找、频繁访问特定项目的场景中特别有用,如配置数据、缓存系统、计数器等文件操作基础打开文件文件路径模式文件号OpenFor As#读取数据指令Input,Line Input,Get写入数据指令Print,Write,Put关闭文件文件号Close#文件操作是许多应用程序的基本功能,用于持久化存储数据、读取配置或处理用户文件提供了Visual Basic一组强大的文件处理语句,支持多种操作模式(只读)、(只写,创建新文件)、Input OutputAppend(追加内容)、(二进制读写)等每个打开的文件都通过一个文件号(通常为之间的整数)标Binary1-511识在进行文件操作时,需要特别注意错误处理,因为文件访问涉及外部资源,可能因各种原因(如权限不足、磁盘空间不足、文件锁定等)导致失败使用语句设置错误处理程序,捕获并处理可能的异常情况此On Error外,确保正确关闭文件也很重要,建议使用语句显式关闭文件,或使用语句关闭所有打开的文Close Reset件良好的文件操作实践有助于创建更可靠、更稳定的应用程序文本文件读写实际操作写入文本文件读取文本文件使用Output模式(创建新文件)逐行读取Open C:\Test\data.txt ForOutput As#1Open C:\Test\data.txt ForInput As#1Print#1,姓名:张三Do UntilEOF1Print#1,年龄:25Line Input#1,textLinePrint#1,职业:程序员lstLines.AddItem textLineClose#1LoopClose#1使用Append模式(追加到现有文件)Open C:\Test\log.txt ForAppend As#1读取整个文件内容Print#1,程序启动时间:Now Dimcontent AsStringClose#1Open C:\Test\data.txt ForInput As#1content=Input$LOF1,#1Close#1txtContent.Text=content文本文件是最常见的文件类型之一,用于存储人类可读的字符数据在中,文本文件操作通常使用、或模式,配合、、或语句进行Visual BasicInput OutputAppend PrintWrite InputLine Input读写这些操作使得保存和加载配置数据、日志信息或用户创建的文档变得简单写入文本文件时,语句将数据转换为文本并写入文件,多个项目间用字符分隔;语句则加入分隔符和引号,便于后续解析读取文本文件时,语句一次读取一行文本,Print TabWrite LineInput适合处理结构化文本;而函数可以一次读取指定字节数或整个文件的内容处理大文件时,逐行读取通常更高效,因为它避免了一次加载整个文件到内存对于国际化应用,还需要注意文Input$本编码(如、等)的处理,确保正确显示不同语言的字符UTF-8GBK随机文件访问定义记录结构Type StudentRecordIDAs IntegerNameAsString*20固定长度字符串AgeAsByteScore AsSingleEnd Type打开随机文件Dim studentAs StudentRecordOpenstudents.dat ForRandom As#1Len=Lenstudent写入记录student.ID=1001student.Name=张三student.Age=20student.Score=
85.5Put#1,1,student写入第1条记录读取记录Dim readStudentAs StudentRecordGet#1,1,readStudent读取第1条记录MsgBox姓名:TrimreadStudent.Name随机文件访问是一种强大的文件操作模式,允许直接读写文件中的特定位置,而不需要顺序读取整个文件这种访问方式特别适合处理结构化数据记录,如数据库应用中的表格数据在Visual Basic中,随机文件通常与用户定义类型(Type)结合使用,以定义固定长度的记录结构错误处理与调试技巧断点()监视()单步执行Breakpoint Watch在代码中设置临时停止点,程序运行到此处会暂观察特定变量或表达式的值,帮助追踪数据变化逐行执行代码,深入理解程序流程和问题所在停,允许检查变量值和程序状态错误处理和调试是软件开发过程中不可或缺的环节,它们帮助开发者发现、定位和修复程序中的问题错误处理关注的是如何优雅地响应和处理运行时错误,而调试则是找出导致程序行为异常或错误的根本原因提供了一套完整的工具和技术,使这两个过程变得更加高效Visual Basic在调试方面,的集成开发环境提供了丰富的功能断点允许暂停程序执行;监视窗口显示变量值;单步执行()控制VB StepInto,Step Over,Step Out代码执行节奏;即时窗口可执行临时代码片段;调用堆栈显示程序执行路径结合这些工具,开发者可以深入了解程序的内部状态和行为,快速定位问题此外,良好的错误处理设计(使用语句和结构化错误处理)可以使程序在面对异常情况时保持稳定,提供有意义的错误消息,并在可能的情On Error况下自动恢复图形处理控件PictureBox基本图形绘制图像操作设置绘图模式加载图像Picture
1.AutoRedraw=True Picture
1.Picture=LoadPictureC:\Images\logo.bmp绘制直线调整图像Picture
1.Line0,0-100,100,vbRed Picture
1.PaintPicture Picture
2.Picture,_0,0,100,100,_目标位置和大小绘制矩形0,0,200,200源位置和大小Picture
1.Line50,50-150,150,vbBlue,B清除画布绘制填充矩形Picture
1.ClsPicture
1.Line200,50-300,150,vbGreen,BF保存图像绘制圆/椭圆SavePicture Picture
1.Image,C:\Images\new.bmpPicture
1.Circle200,200,50,vbYellow控件是中处理图形和图像的主要工具,它不仅可以显示图像文件,还可以作为绘图表面,用于创建自定义图形支持多种图形操作,从简单的线条、矩形和PictureBox Visual Basic PictureBox圆的绘制,到复杂的位图操作和图像处理使用进行图形编程时,属性是一个重要设置当设为时,所有绘图操作都会保存在控件的内存中,当控件需要重绘(如被其他窗口遮挡后再显示)时,图形会自动PictureBox AutoRedrawTrue恢复而当设为时,绘制的图形只是临时的,需要手动处理重绘事件对于动画或频繁更新的图形,通常使用以获得更好的性能;而对于静态图形,使用更为方便False FalseTrue PictureBox结合控件,可以实现简单的动画效果,为应用程序增添视觉吸引力Timer画笔与颜色属性16777215白色(vbWhite)RGB255,255,255255红色(vbRed)RGB255,0,065280绿色(vbGreen)RGB0,255,016711680蓝色(vbBlue)RGB0,0,255在Visual Basic图形编程中,颜色和画笔属性控制着绘图的外观VB提供了多种设置和操作颜色的方法,包括内置颜色常量(如vbRed,vbBlue)、RGB函数和十六进制颜色值这些颜色可用于设置控件的ForeColor(前景色,通常是文本颜色)和BackColor(背景色)属性,也用于绘图操作中指定线条、填充和文本的颜色除了基本颜色设置,VB还提供了一系列控制绘图风格的属性和方法DrawWidth属性设置线条粗细;DrawStyle属性控制线条样式(实线、虚线等);FillStyle和FillColor控制填充区域的外观对于文本绘制,可以通过Font对象设置字体、大小、粗细和样式这些属性的灵活组合,使开发者能够创建丰富多样的视觉效果,从简单的用户界面元素到复杂的数据可视化图表在使用这些功能时,注意颜色搭配和风格一致性,可以大大提升应用程序的专业感和用户体验打印文本与图像打印对象设置通过对象访问打印机功能Printer设置打印属性设置字体、颜色、打印区域等属性打印内容使用方法输出文本和图形Print执行打印使用方法将内容发送到打印机EndDoc打印功能是许多应用程序的重要组成部分,无论是打印报表、文档还是图表通过对象提Visual BasicPrinter供了打印支持,允许开发者控制打印机并输出文本和图形内容对象的使用方式类似于或Printer Form,支持相同的绘图方法和属性,但输出目标是打印机而非屏幕PictureBox基本的打印流程包括设置打印属性(如纸张大小、方向、边距等);使用打印方法输出内容(如输出文本,输出图像);最后调用发送打印作业对于多Printer.Print Printer.PaintPicture Printer.EndDoc页打印,使用方法开始新页面打印过程中可能需要考虑的因素包括页面布局、分页点、Printer.NewPage页眉页脚、打印预览等通过方法可以显示打印机设置对话框,让用户自定义打印参数结PrinterProperties合这些功能,可以实现从简单的文本输出到复杂的报表打印的各种需求菜单与工具栏设计菜单和工具栏是应用程序用户界面的重要组成部分,它们提供了访问程序功能的标准方式在中,菜单设计通过专门的工具完成这个工具支持Visual BasicMenu Editor创建多级菜单结构,设置菜单项的属性(如、、等),以及排列菜单项的顺序每个菜单项都是一个控件,可以响应事件,执行相应的操作Caption NameShortcut Click工具栏则通常使用控件实现,它提供了一排按钮,每个按钮代表一个常用操作工具栏按钮通常与菜单项对应,提供相同功能的快速访问方式设计良好的菜单和Toolbar工具栏应遵循一些原则相关功能分组;常用功能放在顶层;使用简洁明了的文字和图标;提供快捷键和提示文本;保持与常见应用程序的一致性等这些设计考虑可以大大提高应用程序的可用性,使用户能够轻松找到并使用所需功能窗体间的数据传递全局变量在模块中使用声明全局变量,所有窗体可访问适合共享数据,但可能导致代码耦合度高Public窗体属性为窗体创建公共属性,其他窗体可通过这些属性设置或获取数据提供更好的封装性参数传递在显示窗体前将数据作为参数传递给窗体的方法或属性适合一次性数据传递返回值使用模态对话框()返回结果适合需要用户输入或选择的场景ShowModal在多窗体应用程序中,窗体间的数据传递是一个常见需求各种传递方式有各自的优缺点,选择哪种方式取决于应用程序的具体需求、数据的性质和使用范围全局变量提供了最简单的共享方式,但可能导致难以追踪的副作用;窗体属性和方法提供了更好的封装性,但需要更多的代码;参数传递适合单向数据流;而返回值则适合用户输入和选择场景无论使用哪种方式,都应注意几个关键点数据类型一致性(确保发送和接收的数据类型匹配);数据验证(验证传递的数据是否有效);错误处理(处理可能的错误情况,如空值或类型不匹配);以及内存管理(特别是对于大型数据或对象引用)良好的数据传递设计不仅使代码更清晰、更易于维护,还能提高应用程序的稳定性和可靠性多窗体应用设计主窗体应用程序的主入口,包含主要功能和导航子窗体从主窗体打开的次级窗体,处理特定功能对话框短暂显示的窗体,用于用户输入或确认多窗体应用设计是创建复杂应用程序的重要概念,它允许将不同功能分离到不同窗体中,使界面更清晰、更易于使用在中,可以通过各种Visual Basic方法显示和管理窗体方法以非模态方式显示窗体(允许用户同时操作多个窗体);方法以模态方式显示(用户必须先关闭该窗体才Show ShowModal能返回调用窗体);方法临时隐藏窗体(保留其状态);方法卸载窗体(释放资源)Hide Unload设计多窗体应用时,需要考虑几个关键因素窗体层次结构(主窗体、子窗体、对话框等);窗体间的导航流程;数据共享和同步机制;资源管理(特别是内存和文件句柄);以及一致的用户界面(保持风格、布局和操作逻辑的一致性)合理的多窗体设计可以提高应用程序的可用性和可维护性,使复杂功能变得条理清晰,便于用户理解和使用定时器()控件应用Timer时钟应用动画效果Private SubTimer1_Timer DimX AsInteger,moveRight AsBoolean更新时间显示lblTime.Caption=Time Private Sub Form_LoadX=0检查是否到达特定时间moveRight=TrueIf Time=#8:00:00AM#And_Timer
1.Interval=50Time=#8:00:10AM#Then Timer
1.Enabled=TrueMsgBox早上好!工作时间到了End SubEndIfEnd SubPrivate SubTimer1_Timer移动对象PrivateSubForm_Load IfmoveRight Then设置定时器间隔为1秒(1000毫秒)X=X+5Timer
1.Interval=1000If X=Picture
1.Width-50ThenTimer
1.Enabled=True moveRight=FalseEnd SubEnd IfElseX=X-5If X=0ThenmoveRight=TrueEnd IfEndIf清除画布并绘制新位置Picture
1.ClsPicture
1.Circle X,50,20,vbRedEnd SubTimer控件是Visual Basic中实现定时操作和动画效果的重要工具它可以按指定的时间间隔(以毫秒为单位)触发Timer事件,使程序能够定期执行特定代码Timer控件常用于各种需要周期性操作的场景,如时钟显示、动画效果、进度更新、自动保存等使用Timer控件时,需要设置两个关键属性Interval(定时间隔,以毫秒为单位)和Enabled(是否启用)Timer事件处理程序中的代码将按指定间隔重复执行需要注意的是,Timer控件的精度受系统限制,不适合需要高精度计时的场景;此外,在Timer事件处理程序中执行耗时操作可能导致事件堆积或界面卡顿为避免这些问题,Timer事件处理代码应尽量简短,复杂操作应考虑使用异步处理或拆分到多个时间点合理使用Timer控件,可以为应用程序增添动态效果和自动化功能,提升用户体验简易游戏项目实践开发一个简易游戏是应用知识的绝佳方式,它结合了界面设计、图形处理、用户输入、逻辑控制等多种技能以一个简单的躲避障碍物游戏为例,游戏元素Visual Basic包括玩家控制的角色、随机生成的障碍物、得分计数器和游戏状态控制(开始、暂停、结束)这些元素可以使用、控件和控件实现PictureBox LabelTimer游戏开发的关键技术点包括碰撞检测(检查玩家角色是否与障碍物接触);得分统计(记录玩家成功避开的障碍物数量);难度调整(随着得分增加,增加游戏难度);以及游戏循环(使用控件实现游戏主循环,处理对象移动、碰撞检测和画面更新)这个项目不仅可以巩固已学的知识,还能培养解决实际问题的能力和创造性思Timer维完成后,可以考虑添加更多功能,如音效、关卡设计、高分榜等,进一步提升游戏体验认识数据库编程数据库概念组织、存储和管理数据的系统数据库对象表、查询、视图、存储过程等SQL语言与数据库交互的标准语言数据访问方法ODBC、ADO等技术数据绑定界面将数据与控件关联显示数据库编程是许多商业应用程序的核心功能,它允许应用程序有效地存储、检索和管理大量结构化数据在Visual Basic中,开发者可以通过多种方式与数据库交互,从简单的文件型数据库(如Microsoft Access)到企业级数据库系统(如SQL Server、Oracle)数据库编程涉及多个概念层次,从基本的数据存储和检索,到复杂的事务处理和数据完整性维护VB与数据库的集成主要通过数据访问技术实现,如ODBC(开放数据库连接)和ADO(ActiveX数据对象)这些技术提供了统一的接口,使应用程序能够与不同类型的数据库系统交互数据库操作通常包括连接数据库、执行SQL语句(如SELECT、INSERT、UPDATE、DELETE)、处理结果集和管理事务等步骤VB还提供了数据绑定功能,允许将数据库字段直接绑定到界面控件,简化数据显示和编辑过程掌握数据库编程技术,是开发数据密集型应用程序的基础数据连接与控件ADO连接字符串指定数据库类型、位置、身份验证信息等连接参数Access数据库连接字符串strConn=Provider=Microsoft.Jet.OLEDB.
4.0;_Data Source=C:\MyDB.mdb SQLServer连接字符串strConn=Provider=SQLOLEDB;_Server=MyServer;Database=MyDB;_User ID=MyUser;Password=MyPwd;ADO对象模型Connection(连接)、Command(命令)、Recordset(记录集)等核心对象创建Connection对象Dim connAs NewADODB.Connectionconn.Open strConn创建Command对象Dim cmdAs NewADODB.CommandSet cmd.ActiveConnection=conncmd.CommandText=SELECT*FROM Customers创建Recordset对象Dim rsAs NewADODB.Recordsetrs.Open SELECT*FROM Products,conn数据库驱动不同数据库系统的驱动程序,如ODBC驱动、OLE DB提供程序等数据查询与记录集对象打开记录集使用SQL语句或表名创建记录集对象rs.Open SELECT*FROM StudentsWHERE Age18,conn,adOpenStatic,adLockOptimistic遍历记录使用导航方法移动记录指针移动到第一条记录rs.MoveFirst遍历所有记录Do Untilrs.EOFDebug.Print rs!Namers.MoveNextLoop修改数据更新记录集中的字段值更新当前记录rs!Age=25rs.Update添加新记录rs.AddNewrs!Name=张三rs!Age=20rs.Update关闭记录集操作完成后释放资源rs.CloseSet rs=Nothing数据绑定与界面同步控件控件绑定数据网格Data传统的数据绑定控将控件与数据字段关联,自动显示或控件,Visual BasicMSHFlexGrid DataGrid件,提供数据库连接和导航功能和更新数据以表格形式显示多条记录数据验证在接受用户输入前验证数据的有效性数据绑定是将数据库字段与用户界面控件直接关联的技术,它简化了数据显示和编辑过程,减少了手动代码编写在中,数据绑定可以通过控件实现,该控件充当数据源与界面控件之间的桥梁通过设Visual BasicData置控件的和属性,可以将控件与特定数据字段关联,实现自动数据显示和更新DataSource DataField数据绑定的主要优势包括减少代码量(无需手动填充和更新控件);保持数据一致性(界面变化自动反映到数据库);简化导航(利用控件的导航按钮或方法在记录间移动)数据绑定适用于各种常见控件,如Data(显示和编辑文本字段)、(显示和编辑布尔值)、(从相关表选择值)等TextBox CheckBoxComboBox对于显示多条记录,可以使用控件,它提供了表格式视图,支持排序、筛选和编辑功能合理利用数DataGrid据绑定技术,可以大大提高数据密集型应用的开发效率和用户体验综合项目展示综合项目是将所学知识应用到实际问题的最佳方式以学生成绩管理系统为例,该系统结合了窗体设计、控件使用、事件处理、数据库操作等多方面知识系统主要功能包括学生信息管理(添加、修改、删除学生记录);成绩录入与统计(输入各科成绩,计算总分和平均分);成绩查询与筛选(按姓名、学号或成绩范围查询);以及报表生成(打印成绩单或统计报表)通讯录应用是另一个典型的入门级项目,它专注于个人联系人信息的管理主要功能有联系人增删改查;联系人分组管理;快速搜索功能;导入导出数据功能等这类项目虽然简单,但涵盖了软件开发的基本环节,从需求分析、界面设计、功能实现到测试部署通过完成这些综合项目,不仅可以巩固技术知识,还能培养系统思维和项目管理能力,为今后参与更复杂的软件开发打下基础总结与发展方向展望课程总结从基础语法到高级主题,全面介绍了程序设计的各个方面,培养了编程思维和实际开发能力Visual Basic关键技能掌握了界面设计、事件处理、流程控制、数据操作等核心技能,能够独立开发小型应用程序进阶方向可向、等现代语言发展,或深入学习数据库、网络编程、移动应用开发等专业领域Visual Basic.NET C#职业前景软件开发、系统分析、支持等岗位都需要编程技能,知识为进一步学习奠定基础IT VB通过本课程的学习,我们已经掌握了程序设计的基本概念和技能,从简单的语法规则到复杂的数据库Visual Basic应用,建立了完整的知识体系这些知识不仅适用于编程,还为学习其他编程语言和技术奠定了坚实Visual Basic基础编程思维、问题分析和解决方法是通用的技能,可以迁移到各种开发环境中展望未来,编程技术仍将是数字时代的核心竞争力虽然已不再是主流开发工具,但其易学Classic VisualBasic易用的特性使其成为编程入门的理想选择学成后,可以向、等现代语言发展,这些语言继VisualBasic.NET C#承了的许多优点,同时提供了更强大的功能和更广泛的应用场景无论选择哪个方向,保持学习的热情和实践的VB习惯,才能在快速变化的技术领域保持竞争力愿这门课程成为您编程之旅的良好开端。
个人认证
优秀文档
获得点赞 0