《visual basic dot net程序设计》实验指导书文档格式.docx
《《visual basic dot net程序设计》实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《visual basic dot net程序设计》实验指导书文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
1.熟悉WindowsXP或Windows2000的操作环境。
2.一个VB.NET的应用程序也称为一个工程,由几部分组成。
3.设计VB.NET应用程序的步骤:
✧设计用户界面。
✧设置属性:
对每一个控件进行属性的设置。
✧编辑程序(事件过程)代码。
✧编译:
使程序脱离VB.NET环境,直接在Window环境下运行。
四、实验内容与要求:
实验内容1:
熟悉MicrosoftVisualStudio.NET2003的开发环境和使用方法
【操作步骤】:
1.启动MicrosoftVisualStudio.NET2003
2.新建项目
启动MicrosoftVisualStudio.NET2003后,出现“新建工程”对话框,在“新建”标签页中,选取“标准EXE”图标,按“打开”按钮,创建一个新项目
3.打开的VisualBasic开发环境如书P6页图1.4所示
4.建立和选取控件
✧建立控件:
在工具箱的命令按钮图标上双击后,窗体窗口的中央会出现标题名称为Command1的控件。
✧另一种建立控件的方式是:
在工具箱的命令按钮图标上单击后,该按钮会凹下去。
再将鼠标指针移到窗体窗口内的适当位置,按住鼠标左键拖动十字指针拉出控件的外框。
待大小合适后松开鼠标左键,窗体窗口中出现标题名称为Command2的控件(假设窗体窗口中已建有Command1控件)。
✧选取控件:
将鼠标指针移到Command1控件内单击,控件周围会出现一个框并有八个小黑点,表示选取了该控件,可以对它进行大小调整、删除和设置属性等操作。
5.移动、删除和调整控件的大小
✧移动控件:
将鼠标指针移到Command1控件内,按住鼠标左键并拖动鼠标,把Command1控件移到合适的位置后,松开鼠标左键。
✧调整控件的大小:
选取Command1控件,移动鼠标指针到控件任一边的一个小黑点上,鼠标指针变成方向指针,按住左键并拖动鼠标,当大小合适后松开鼠标左键。
✧删除控件:
选取要删除的控件,按键盘上的“Delete”键。
6.控件的属性设置(假设窗体窗口中已有Command1和Command2两个控件)
✧选取要设置属性的控件Command1,在属性窗口中找到要设置的属性名称,如“text”,将鼠标移到“text”项右侧的文本框中,单击鼠标左键。
将“Command1”改为“按钮1”,窗体窗口中的“Command1”变成“按钮1”。
✧另一种方法是:
在属性窗口中,单击右上角向下箭头按钮,从列表框中选择条目“Command2CommandButton”,找到“Enabled”属性,将鼠标移到“Enabled”项中,双击鼠标左键(或单击鼠标左键,从列表框中选择属性值)。
将控件Command2的Enabled属性设置为False,看看窗体窗口中的Command2按钮控件有何变化?
答:
7.保存文件。
实验内容2:
建立、运行和编译一个应用程序
【操作步骤】
1.窗体设计过程
✧创建一个新项目:
按实验内容1的步骤1、2(或在VB的开发环境下,单击菜单栏中“文件”项,从弹出的菜单中选择“新建工程”命令,然后选择“标准”项,按“确认”按钮)。
✧在窗体窗口中放置两个命令按钮控件和两个标签控件,如下图所示。
表1.1
对象
属性
设置值
Form1
text
显示日期和时间
Command1
日期
Name
Showdate
Command2
时间
Showtime
Label1
Label2
2.设置各对象的属性值(如表1.1所示)
3.编辑代码
✧双击窗体窗口中任何位置或单击菜单“视图”的“代码”按钮,打开代码编辑窗口。
✧在代码编辑窗口中,单击左侧对象(Object)列表框的向下箭头按钮,从列表框中选择“Showdate”对象;
从右侧列表框中选择“Click”事件。
此时代码窗口中出现程序代码的过程头和过程尾,格式如下:
PrivateSubShowdate_Click()
EndSub
✧在Showdate_Click()过程的头和尾之间输入如下代码:
Label1.Caption=Date
添加注释:
单击日期按钮,标签Label1中显示系统日期
✧在代码窗口中,单击左侧对象(Object)列表框的向下箭头按钮,从列表框中选择“Showtime”对象;
此时代码窗口中出现程序代码的过程头和过程尾,格式如下:
PrivateSubShowtime_Click()
✧在Showtime_Click()过程的头和尾之间输入如下代码:
Label2.Caption=time
添加注释:
单击时间按钮,标签Label2中显示系统时间
4.运行程序
✧按F5键或单击工具栏的“启动”按钮或使用菜单命令:
运行\启动运行程序。
✧单击窗体中的“日期”和“时间”按钮,看看运行的结果是什么?
✧单击工具栏的“结束”按钮图标,可以结束程序的运行。
5.将程序编译成可执行文件:
当我们确认程序无误后,就可以将程序编译成为.exe文件使之脱离VB环境直接在Windows平台上运行。
步骤如下:
✧单击菜单栏中“生成”项,从弹出的菜单中选择“生成**”命令。
✧单击标题栏右边的“×
”按钮,可以退出VB的开发环境。
✧运行刚才编译好的程序文件。
6.观察E:
\VbHomework\Ex1文件夹中保存的不同文件类型。
实验内容3:
关闭和打开工具箱窗口
【操作步骤】
1.单击工具箱窗口右上角的“×
”按钮,可以关闭窗口。
2.在菜单栏中单击“视图”项,从弹出的菜单中选择“工具箱”命令,可以打开工具箱窗口。
思考题
1.将【实验内容1】步骤6中窗体的“text”属性设置为“VB实验”。
2.如何通过菜单栏打开代码编辑窗口?
3.如何关闭和打开“解决方案资源管理器窗口”、“属性窗口”和“类视图窗口”?
实验内容4:
创建一个VB.NET控制台程序,该程序的功能是显示一行欢迎词:
“欢迎您进入VB.NET编程世界!
”。
程序运行结果如下图所示。
五、实验小结与体会
要求:
从实验准备、操作、运行结果和遇到问题等方面小结。
实验二VB.NET编程基础
1.掌握变量的定义和使用方法。
2.掌握IF、SELECT语句的使用方法。
3.了解InputBox函数和MsgBox函数的基本用法
4.掌握FOR、DO循环语句。
5.掌握过程的定义及使用方法
6.掌握过程的按值传递方式和按地址传递方式
7.掌握函数的定义与使用方法
8.掌握过程和函数的区别与联系
9.掌握固定大小数组的定义及使用方法
10.掌握动态数组的定义及使用方法
\VbHomeWork\Ex2)用来存放本次实验所建立的文件。
三、实验预习与准备
1.熟悉各种If语句的格式。
2.熟悉Select语句的格式。
3.了解InputBox函数和MsgBox过程的基本格式
4.熟悉各种循环语句的格式和执行过程。
5.Print语句的用法
6.固定数组及动态数组的定义及使用方法
7.DoWhile…Loop及For…Next循环控制语句和Print语句的使用
8.子过程的定义方法
9.通用过程的定义与调用方法。
10.“按地址方式”和“按值方式”传递参数的意义。
11.函数的定义与调用方法。
四、实验内容与要求
输入三个数,利用IF选择语句找出其中最大的数,并输出结果。
1.创建一个新项目,在代码窗口中输入如下代码:
PrivateSubForm_Activate()
Dima,b,cAsInteger
DimmaxAsInteger
a=Val(InputBox$(″输入第一个数″,″输入数据″))
b=Val(InputBox$(″输入第二个数″,″输入数据″))
c=Val(InputBox$(″输入第三个数″,″输入数据″))
Ifa>
bThen′找出a、b中的最大数
max=a
Else
max=b
EndIf
Ifc>
maxThen′找出max、c中的最大数
max=c
MsgBoxmax,vbOKOnly,″最大的数是″
2.调试并运行程序。
输入一组学生的成绩,用Select选择语句将百分制成绩转换为学分制成绩,并输出结果。
1.创建一个新项目,在代码窗口中输入如下代码:
DimscoreAsInteger
DimgradeAsString
score=Val(InputBox$(″输入百分制成绩″,″输入数据″))
SelectCasescore
Case90To100
grade=″A″
Case80To89
grade=″B″
Case70To79
grade=″C″
Case60To69
grade=″D″
Case0To59
grade=″E″
EndSelect
MsgBoxgrade,vbOKOnly,″输出学分制成绩″
2.调试并运行上面的程序
练习:
1.编写一个程序,要求输入一个年份号,判断它是否为闰年
2.输入一个数字(1~7),用英文显示对应的星期一~星期日
用循环语句编程,求1+2+…+10的和
1.创建一个新项目。
2.打开代码窗口,输入如下代码:
DimiAsInteger
DimsumAsInteger
Fori=1To10′循环10次,求和
sum=sum+i
Nexti
Print″1+2+…+10=″;
sum
3.调试并运行程序。
4.将上面的代码做如下修改:
PrivateSubForm_Activate()
DoWhilei<
=10
i=i+1′循环控制变量i加1
Loop
5.调试、运行此程序,比较两种循环方法的区别与联系
1.计算
当第I项的值
时结束。
【提示】找出规律,第I项的分母是前一项的分母加上表示有分母项开始的计数项。
2.用循环语句显示有规律的图形
【提示】
用Space函数产生空格来定位
每一行内显示的字符串与循环控制变量I之间的关系为:
String(2*-1,Trim(str(i))),但考虑到最后一行显示为0,则要对公式修改为String(2*I-1,Right(str(i),1))
实验内容4:
通用过程实验程序。
要求编写一个求两个数平均值的通用过程
1.建立新项目,在“工程属性”对话框中将启动对象设为“SubMain”。
2.向工程中加入标准模块(Module1),并加入“Main”过程和代码。
PublicSubMain()
DimsData1AsSingle
DimsData2AsSingle
sData1=InputBox(″输入第一个数:
″)
sData2=InputBox(″输入第二个数:
AveragesData1,sData2′调用求平均值过程
CallAverage(sData1,sData2)′也可以用Call命令调用过程
3.编写求平均值通用子过程(Average)
PublicSubAverage(Data1AsSingle,Data2AsSingle)
MsgBox(Data1+Data2)/2′计算平均值,并显示结果
在缺省情况下,子程序的参数是以“按地址方式”传送的,即上面的过程定义相当于:
PublicSubAverage(ByRefData1AsSingle,ByRefData2AsSingle)
利用“按值方式”传递参数的方法也可达到同样的效果:
PublicSubAverage(ByValData1AsSingle,ByValData2AsSingle)
4.运行程序,输入任何两个数,计算它们的平均值。
运行:
5.如果希望过程保留计算结果,则可以利用“按地址方式”传递参数技术实现。
具体实现代码如下:
DimsData1AsSingle,sData2AsSingle,sAveAsSingle
sData1=InputBox(″输入第一个数:
sData2=InputBox(″输入第二个数:
CallAverage(sData1,sData2,sAve)
MsgBoxsAve
PublicSubAverage(ByValData1AsSingle,ByValData2AsSingle,ByRefRetave)
Retave=(Data1+Data2)/2
6.将5中的Average函数改为如下形式(注意其中黑体部分)
PublicSubAverage(ByValData1AsSingle,ByValData2AsSingle,ByValRetave)
运行程序,看看结果有什么不同?
为什么?
7.此程序还可以通过函数的方法来返回结果,具体实现代码如下:
sAve=Average(sData1,sData2)
PublicFunctionAverage(ByValData1AsSingle,ByValData2AsSingle)AsSingle
Average=(Data1+Data2)/2
EndFunction
1.根据通用过程的特点,分析通用过程的应用场合。
2.在哪些程序中,适合应用函数来简化程序设计?
1.编写一个程序建立一个数组,并通过Rnd函数(该函数返回一个0~1之间的数),为每个数组元素赋一个1~100之间的整数,显示所有小于60的元素。
(从键盘接收要产生的随机数的个数N)
【设计思路】:
定义一个整型的动态数组用来存放产生的随机数,其实际随机数个数在键盘输入了N后确定。
思考题:
动态数组与固定大小数组的区别及如何使用这两类数组
2.编写程序计算1+2!
+3!
+4!
+5!
…+20!
(1)编写通用函数完成对n!
的计算。
(2)在主程序中,通过对通用函数进行循环调用,实现要求。
3.编写一个函数DeleteStr(s1,s2),将字符串s1中出现的s2子字符串删去。
在主程序中通过Inputbox函数输入字符串s1和s2,并调用函数DeleteStr(s1,s2)返回结果。
(1)在s1字符串中找s2子字符串,可利用Instr()函数,要考虑到s1中可能存在多个或不存在s2字符串,用DoWhileInstr(s1,s2)>
0循环结构来实现
例如:
假设s1=“12345678AAABBDFG12345”s2=“234”
则结果应为:
”15678AAABBDFG15
(2)若在s1中找到s2字符串,首先要确定s1字符串的长度,因s1字符串在多次删除时,长度在变化。
然后通过Left()、Mid()或Right()函数的调用达到删除。
五、实验过程与结果
六、实验小结与体会
实验三图形用户界面设计
1.掌握常用控件的重要属性、事件和方法
2.掌握常用ActiveX控件的特性、熟练应用这些高级控件进行编程
3.初步掌握创建基于图形用户界面应用程序的过程
4.熟练掌握键盘事件、鼠标事件及其事件过程的编写技巧
5.掌握用户自定义类型的使用方法
6.掌握多窗体的加载、卸载及访问其它窗体属性、方法等技巧
7.掌握通用对话框控件的使用方法。
8.掌握简单MDI窗体的设计及使用技巧
9.掌握菜单、工具栏、状态栏的设计方法
10.掌握ClipBoard对象的使用方法
\VbHomeWork\Ex3)用来存放本次实验所建立的文件。
1.了解工具箱中各图标所代表的控件含义以及向工具箱中添加控件的方法
2.了解本实验所用控件的重要属性和事件
3.在一个窗体中访问不同窗体的属性及方法
4.理解单文档窗体(SDI)与多文档窗体(MDI)的区别与联系
5.掌握MDI窗体的基本应用技巧
创建如图2.1.1所示的登录窗体,运行时要求:
图2.1.1
图2.1.2
1.用户在文本框中分别输入用户名和口令,如果两者均正确,则关闭图2.1.1窗体,显示图2.1.2所示窗体。
2.如果用户名错误,则显示如图2.1.3所示对话框;
当用户关闭对话框后将光标移到用户名输入文本框中,并将其中的文本全部选中。
3.如果口令错误,则显示如图2.1.3所示对话框;
当用户关闭对话框后将光标移到口令输入文本框中,并将其中的文本全部选中。
4.如果三次输入错误,则自动退出程序。
5.编写程序实现用户在用户名输入文本框中只能输入字母A~Z。
且当用户名输入完毕,用户敲“enter”键时,光标自动跳到口令输入文本框。
此实验中用到的控件有:
CommandButton控件、Image控件、Label控件、TextBox控件。
实验内容2:
编写一个如图所示的自动红绿灯模拟程序,在晚上21:
00到凌晨2:
00红黄绿灯全亮,其余时间红、黄、绿灯自动切换,延迟时间由文本框控制(单位s)。
1.此实验中用到的控件有:
Timer控件、Image控件、Label控件、TextBox控件、Updown控件。
2.红绿灯图标文件在“…\MicrosoftVisualStudio\Common\Graphics\Icons\Traffic”文件夹中
设计一个用于输入教师信息的应用程序,窗体设计界面如图2.4.1。
其中:
民族和职称用组合框,性别用单选框,外语熟练程序(1~100)用水平滚动条,其它用文本框。
要求:
(1)实现教师记录的上下翻阅;
(2)实现教师记录的输入
(3)实现教师记录的修改;
(4)实现教师记录的删除
(5)按记录号查找教师记录
1.程序输入界面如图2.4.2所示,删除界面如图2.4.3所示,查找界面如图2.4.4所示。
2.使用自定义数据类型teacher记录每个教师的基本信息,teacher类型定义如下:
PrivateTypeteacher
NameAsString*8
BirthRQAsString*7
GenderAsBoolean
ProfAsString*8
NationAsString*12
LangAsInteger
SalaryAsInteger
DepartAsString*20
HistoryAsString*100
EndType
3.使用动态数组记录每个教师的基本信息