1、第2次 VB.NET编程环境熟悉第3、4次 完成基本试验1-8第5次 完成基于Visual Basic.Net2005的界面程序开发设计第6次 程序调试及验收指导教师(签字): 年 月 日分院 院长(签字):目录1 目的和要求12 内容和步骤.13 实现过程.14 运行结果.45 实习体会.66 参考文献.7附录A1 目的和要求(1) 熟练掌握代码编辑窗口操作(2) 掌握Sub过程的定义(3) 熟练掌握Sub过程的参数传递掌握Sub过程变量的有效范围2 内容和步骤在VB.NET中,过程分为事件过程和通用过程。事件过程在前面已经练习过,下面主要联系通用过程。过程通用是的参数传递分为按地址和按值传
2、递两种。通用过程的有效范围可分为Public和Private,存储类型可以使用局部变量,在本过程结束时就释放。也可以用Static定义过程中所有的变量为静态变量,在调用结束后仍保留其值。3 实现过程一 使用“代码编辑器”窗口(1) 选择过程的方法单击对象列表框选择对象,然后单击过程列表框选择过程名按Ctril+Alt+J键打开对象浏览器,显示项目中所有的对象和过程,在对象浏览器中选择窗体中的显示的过程名,双击过程名。(2)查看过程代码在“代码编辑器”窗口可以一次只查看一个过程或同时查看模块中的所有过程。这些过程彼此之间用线隔开。利用“代码编辑器”窗口左边的“+”“”号图标,可展开或折叠过程代码
3、。(3)自动完成编码“代码编辑器”能自动列举适当的选择,用于填充语句、属性和参数,使编码更加方便。“自动列出成员特性”用于显示控件的下拉属性表。当用户在代码中输入一控件名并输入“。”时,就会显示控件的下拉属性表。“自动快速信息”用于显示语句和函数的语法,当输入合法的VB.NET语句或函数名之后,语法立即显示在当前行的下面,并用黑体字显示它的第一个参数。在输入第一个参数值之后,第二个参数又以黑体字出现。二 用选择法对数组中的整数按由小到大排序选择排序算法:先将数组a中的最小数与第一个元素a(0)比较,当a(0)大时就对换:再将数组中剩余数中最小数与第二个元素a(1)比较,当a(1)大时就对换:依
4、次类推。(1) 新建一个“Visual Basic“项目将项目命名为“Exe0401“,出现一个新的Form1窗口。(2) 界面设计窗体包括2个文本框、2个按钮和3个标签。从文本框txtN输入排序数组中的元素个数,在标签labResult中显示排序前的数组元素,在文本框txtNumber中显示排序后的数组元素,由于元素个数未知,文本框含有垂直滚动条,并且不能修改,将“ReadOnly“设为Ture。窗体中控件属性如表T4.1所示,界面安排如图T4.1所示。对象对象名属性名属性值FormfrmSortText排序ButtonCmdSortTextBoxCmdEnd结束txtN空txtNumber
5、ReadOnlyTrueMultiLineLabellabN需要排序元素的个数:Label labNumber排列前数据:labResult排列结果:(3) 添加代码声明N和a为模块级变量,a为动态数组:Option Explicit OnDim N As IntegerDim a() As Integer在窗体模块代码中添加Sort过程是实现排序的通用过程。单击“排序“按钮,调用Sort过程并将结果显示在文本框中:Private Sub Sort(ByVal b() As Integer) Dim i As Integer, j As Integer Dim min As Integer,
6、temp As Integer For i = 0 To N - 2 min = i For j = i + 1 To N - 1 If b(min) b(j) Then min = j Next j temp = b(i) b(i) = b(min) b(min) = temp Next i End Sub输入需要排序元素的个数的文本框内容改变时,判断输入数据有效性:Private Sub CmdSort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSort.Click Dim i
7、As Integer Call Sort(a) For i = 0 To N - 1 txtNumber.Text = txtNumber.Text & a(i) & Private Sub txtN_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtN.TextChanged Randomize() If Val(txtN.Text) 0 And IsNumeric(Val(txtN.Text) Then N = Val(txtN.Text) ReDim a(N) a(i) =
8、 Int(100 * Rnd() labNumber.Text = labNumber.Text & Else MsgBox(数据个数出错!, , 数据个数) End If单击“结束“按钮的程序代码如下:Private Sub CmdEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdEnd.Click End(4) 保存项目单击“文件“菜单,选择”保存“命令,将项目保存为”Exe0401.vbproj“.三计算三角形面积在按钮click实践过程中调用计算三角形面积的子过程area,并
9、在窗体中显示出结果。(1) 新建一个“visual basic项目”将项目命名为“Exe0402”,出现一个新的Formal窗口。窗体由2个分组框、4个标签、4个文本框和2个按钮组成。分组框输入和显示结果的控件分成两组,文本框txtA、txtB和txtC分别输入三角形的三边长,文本框txtarea显示三角形的面积。按钮cmdStart和cmdEnd分别用于“计算”和“结束”程序。界面设计如图T4-3所示。(3)编写代码在模块中添加代码。为了能够调用VB.NET数学函数,在“代码编辑器”窗口的最上方,输入如下代码:Imports System.Math计算面积的过程为通用过程。形参x、y、z是按
10、值传递的,形参x是按地址传递的。因此在被调用过程area中改变了s的值。在主调过程cmdStart-Click中的s也相应的改变。Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 三角形面积.Enter Private Sub area(ByVal x As Single, ByVal y As Single, ByVal z As Single, ByRef s As Single) Dim p As Single p = (x + y + z) /
11、2 s = Sqrt(p * (p - x) * (p - y) * (p - z)单击“计算”按钮。cmdStart-Click中的s变量名和通用过程area中相同,都是局部变量。但又不同的有效范围:Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click Dim a As Single, b As Single, c As Single Dim s As Single a = Val(txtA.Text) b = Val(txtB
12、.Text) c = Val(txtC.Text) Call area(a, b, c, s) txtArea.Text = Int(s * 100) / 100单击”结束”按钮的程序代码如下: Private Sub cmdEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEnd.Click(4)保存项目单击“文件”菜单。选择“保存”命令。将项目保存为“Exe402.vbproj”。4 运行结果实验一:运行单击“调试“菜单,选择”启动调试“命令,或单击工具栏”启动调试“按钮,单击窗
13、体中的”排序“按钮,运行结果如图T4.2所示。实验二:单击“调试”菜单。选择“启动调试”命令,或单击工具栏“启动调试”按钮,单击窗体中的“计算”按钮,运行结果如图T4.4所示。5 学习体会开始时感觉VB.NET2005牵涉的概念比较复杂,规则繁多,使用灵活,容易出错,是门困难的不好理解的课程,通过这次课程设计机会对VB.NET2005有了更进一步的了解,加深了对VB.NET2005编程理念的领悟,使我对VB由害怕到兴趣盎然。致使我有了一种想当一名VB程序设计员的想法。作为一名初学者,作这样一份课程设计非常有意义,它使我意识到了自己的不足,让我在以后的学习中有的放矢。总之,这次客收获颇多,希望下
14、次还能有这样的机会。6 参考文献Visual Basic.Net实用教程-郑阿奇主编 电子工业出版社2008.17 附录实验用选择法对数组中的整数按由小到大排序代码:Public Class frmsort Private Sub frmsort_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd Sub Dim N As Integer Dim a() As Integer Private Sub Sort(ByVal b() As Integer)Private Su
15、b txtN_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtN.TextChangedPrivate Sub labNumber_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles labNumber.ClickEnd Class实验计算三角形面积代码:Public Class Form1Private Sub area(ByVal x As Single, ByVal y As Single, ByVal z As Single, ByRef s As Single)Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadPrivate Sub cmdEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEnd.Click
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1