数组、列表框和组合框_第1页
数组、列表框和组合框_第2页
数组、列表框和组合框_第3页
数组、列表框和组合框_第4页
数组、列表框和组合框_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实实 例例 实例实例5.1实例实例5.2 实例实例5.3实例实例5.4实例实例5.5 实例实例5.6实例实例5.7实例实例5.8 实例实例5.9实例实例5.10实例实例5.11 【引例】 计算20个数据的平均值。程序运行时随 机产生20个两位整数显示在上面标签中;单击 “平均值”按钮时,计算20个数据的平均值显示在 下面的标签中。 操作步骤 1、界面设计 2、编写窗体的Load事件 Private Sub Form_Load() End Sub 生成生成20个个1099间的随机数间的随机数 累加累加20个随机数个随机数 连接连接20个随机数,显示在标签中个随机数,显示在标签中 2、编写窗体的L

2、oad事件 Private Sub Form_Load() End Sub 生成生成20个个1099间的随机数间的随机数 累加累加20个随机数个随机数 连接连接20个随机数,显示在标签中个随机数,显示在标签中 For i = 1 To 20 Next i 1 1 1 For i = 1 To 20 Next i 2、编写窗体的Load事件 Private Sub Form_Load() End Sub 生成生成20个个1099间的随机数间的随机数 累加累加20个随机数个随机数 连接连接20个随机数,显示在标签中个随机数,显示在标签中 1 1 1 a = Int(Rnd * 90) + 10 s

3、 = s + a L1.Caption = L1.Caption Tab(i Mod 10) * 6); Next i cmdSort.SetFocus End Sub (4)编写“排序”命令按钮的单击事件代码 Private Sub cmdSort_Click() Dim i As Integer, j As Integer, Min As Integer, Temp As Integer Print Print 显示排序后的数据显示排序后的数据 For i = 1 To 20 Print a(i); Tab(i Mod 10) * 6); Next i Print cmdData.SetF

4、ocus End Sub 对对a数组各元素进行排序数组各元素进行排序 【实例5.5】在窗体上装载一幅图片,再加1个计时 器控件。当程序运行时,计时器控件工作,窗体上 不断飘落直径不等的白色圆,酷似下雪。 (1)设计用户界面 (2)定义窗体级数组 Dim Snow(1 To 500, 2) As Integer 含有含有500行、行、3列元素列元素 Snow(1, 0)Snow(1, 1)Snow(1, 2) Snow(2, 0)Snow(2, 1)Snow(2, 2) Snow(500, 0)Snow(500, 1)Snow(500, 2) 等价于等价于0 To 2 雪花在窗体上的雪花在窗体上

5、的x坐标坐标 雪花在窗体上的雪花在窗体上的y坐标坐标 y值增量值增量 Private Sub Form_Load() FillColor = vbWhite FillStyle = 0 Randomize For i = 1 To 500 Snow(i, 0) = Int(Rnd * frmEx5_5.Width) Snow(i, 1) = Int(Rnd * frmEx5_5.Height) Snow(i, 2) = 20 + Rnd * 50 Next i End Sub (3)编写窗体的装载事件过程代码 第第i个雪花个雪花 (4)编写计时器的Timer事件代码 Private Sub t

6、mrSnow_Timer() For i = 1 To 500 Snow(i, 1) = Snow(i, 1) + Snow(i, 2) If Snow(i, 1) frmEx5_5.Height Then Snow(i, 1) = 0 Snow(i, 0) = Int(Rnd * frmEx5_5.Width) End If Circle (Snow(i, 0), Snow(i, 1), 20 * Rnd, vbWhite Next i frmEx5_5.Cls End Sub 【实例5.6】窗体中有1个按钮、5个标签、1个包 含10个单选按钮的控件数组。程序运行时,单击 “测试” 按钮,在

7、标签中随机显示一个交通标识 名,用户单击相应单选按钮后,程序提示结果。 (1)设计用户界面 对象属 性属性值 窗体 (名称) Icon MaxButton MinButton frmEx5_6 交通标识 False False 单选按钮 控件数组 (名称) Index Style Picture optPicture 09 1-Graghics (装入相应图片) (2)定义窗体级字符型数组 Dim tname(9) As String 根据交通标识图的个数定义数组 的大小 (3)编写窗体的装载事件过程代码 Private Sub Form_Load() Dim i As Integer For

8、 i = 0 To 9 optPicture(i).Value = False Next i lblPrompt2.Visible = False lblAnswer.Visible = False lblEvaluate.Visible = False 控件数控件数 组元素组元素 tname(0) = 步行街 tname(1) = 机动车道 tname(2) = 交叉路口 tname(3) = 注意危险 tname(4) = 注意信号灯 tname(5) = 限高3.5米 tname(6) = 限重10吨 tname(7) = 禁止掉头 tname(8) = 禁止停留 tname(9) =

9、禁止非机动车左转 End Sub (4)编写“测试”按钮的单击事件过程代 码 Private Sub cmdTest_Click() Dim i As Integer For i = 0 To 9 optPicture(i).Value = False Next i lblPrompt2.Visible = False lblAnswer.Visible = False lblEvaluate.Visible = False i = Int(Rnd * 10) lblTest.Caption = tname(i) End Sub (5)编写单击单选按钮控件数组元素的代码 Private Sub

10、 optPicture_Click(Index As Integer) lblPrompt2.Visible = True lblAnswer.Visible = True lblEvaluate.Visible = True lblAnswer.Caption = tname(Index) If lblAnswer.Caption = lblTest.Caption Then lblEvaluate.ForeColor = vbRed lblEvaluate.Caption = 恭喜你!回答正确! Else lblEvaluate.ForeColor = vbBlue lblEvaluate

11、.Caption = 很遗憾,回答错误。 End If End Sub 单击任意一个单单击任意一个单 选按钮时触发选按钮时触发 根据其值判断根据其值判断 所击的是哪一所击的是哪一 个个 【实例5.7】窗体中有1个标签、1个包含10个单 选按钮的控件数组。程序运行时,单击某一单选 按钮,在标签中显示相应交通标识的名称。 操作步骤 (1)设计用户界面 (2)编写单击控件数组元素的代码 Private Sub optPicture_Click(Index As Integer) Select Case Index Case 0 lblShow.Caption = 步行街 Case 1 lblShow

12、.Caption = 机动车道 Case 2 lblShow.Caption = 交叉路口 Case 3 lblShow.Caption = 注意危险 常用常用Select-Case语句语句 Case 4 lblShow.Caption = 注意信号灯 Case 5 lblShow.Caption = 限高3.5米 Case 6 lblShow.Caption = 限重10吨 Case 7 lblShow.Caption = 禁止掉头 Case 8 lblShow.Caption = 禁止停留 Case 9 lblShow.Caption = 禁止非机动车左转 End Select End S

13、ub 【实例5.8】窗体中有1个标签,1个列表框和2个 按钮。程序运行时列表框中显示“北京”、“上 海”、“天津”和“重庆”;单击“添加”按钮, 出现输入框,用户输入新城市名后随即将该城市 名添加到列表框中;选中列表框中某项并单击 “删除”按钮,从列表框中删除该城市名。 (1)在窗体中添加所需控件,列表框控件在工 具 箱中的图标是 。 (2)编写窗体的装载事件过程代码 Private Sub Form_Load() lstCity.AddItem 北京 lstCity.AddItem 上海 lstCity.AddItem 天津 lstCity.AddItem 重庆 End Sub 向列表框向列

14、表框 中添加项中添加项 目目 列表框名.AddItem 字符串 ,索引号 列表框中项的索引号从0开始 出现在第n个位置上的项索引号为n-1 省略索引号时新项被添加到列表框的尾 部 (3)编写“添加”命令按钮的单击事件过程代 码 Private Sub cmdAdd_Click() Dim city As String city = InputBox(请输入城市名, 输入框) lstCity.AddItem city End Sub (4)编写“删除”命令按钮的单击事件过程代 码 Private Sub cmdDelede_Click() lstCity.RemoveItem lstCity.L

15、istIndex End Sub 删除指定的项目删除指定的项目 所选项的索引号所选项的索引号 当没选中任何项时,当没选中任何项时, ListIndex属性值为属性值为-1 删除第1项: lstCity.RemoveItem 0 删除用户所选项: lstCity.RemoveItem lstCity.ListIndex If lstCity.ListIndex -1 Then lstCity.RemoveItem lstCity.ListIndex Else MsgBox 请先选择! End If 【实例5.9】程序运行时随机产生100个两位整数 添加在左列表框中;单击左列表框中某项,该列 表项

16、移到右列表框中;单击“”按钮则将左列表 框中所有项移到右列表框中;单击“还原”按钮, 左列表框中显示原有100个整数,右列表框清空。 (1)设计用户界面 (2)定义窗体级变量定义窗体级变量 Dim a(99) As Integer (3)编写窗体装载事件过程代码 Private Sub Form_Load() For i = 0 To 99 a(i) = Int(Rnd * 90) + 10 Next i add End Sub Private Sub add() For i = 0 To 99 lstLeft.AddItem a(i) Next i End Sub 同一个数组同一个数组 (4

17、)编写左边列表框的单击事件过程代码 Private Sub lstLeft_Click() 在左边列表框所选项添加到右边列 表框 删除左边列表框中所选项 End Sub lstRight.AddItem lstLeft.Text lstLeft.RemoveItem lstLeft.ListIndex (5)编写“”按钮的单击事件过程代码 Private Sub cmdMove_Click() 左边所有项添加到右边列表框 删除左边所有项 End Sub (5)编写“”按钮的单击事件过程代码 Private Sub cmdMove_Click() 左边所有项添加到右边列表框 删除左边所有项 En

18、d Sub lstRight.AddItem lstLeft.List(0) lstRight.AddItem lstLeft.List(1) lstRight.AddItem lstLeft.List(k) 最后一项索引号最后一项索引号 (5)编写“”按钮的单击事件过程代码 Private Sub cmdMove_Click() 左边所有项添加到右边列表框 删除左边所有项 End Sub lstRight.AddItem lstLeft.List(0) lstRight.AddItem lstLeft.List(1) lstRight.AddItem lstLeft.List(k) For

19、i = 0 To lstLeft.ListCount - 1 lstRight.AddItem lstLeft.List(i) Next i 列表项的总数目列表项的总数目 lstLeft.Clear (6)编写“还原”按钮的单击事件过程代码 Private Sub cmdReturn_Click() lstLeft.Clear lstRight.Clear add End Sub 不必重复写不必重复写 【实例5.10】程序运行时随机产生100个两位整 数添加在左列表框中;选中左列表框中若干项后, 单击“复制”按钮,将选中的项复制到右列表框 中;单击“移动”按钮,将所选项目移动到右列 表框中。

20、(1)设计用户界面 列表框 1 (名称) MultiSelect lstLeft 2-Extended (2)编写窗体装载事件过程代码 Private Sub Form_Load() For i = 1 To 100 lstLeft.AddItem Int(Rnd * 90) + 10 Next i End Sub (3)编写“复制”按钮的单击事件过程代码 Private Sub cmdCopy_Click() For i = 0 To lstLeft.ListCount - 1 If lstLeft.Selected(i) = True Then lstRight.AddItem lstLe

21、ft.List(i) End If Next i End Sub 第第i个列表个列表 项被选中项被选中 (4)编写“移动”按钮的单击事件过程代码 Private Sub cmdMove_Click() Do While i = lstLeft.ListCount - 1 If lstLeft.Selected(i) = True Then lstRight.AddItem lstLeft.List(i) lstLeft.RemoveItem i Else i = i + 1 End If Loop End Sub 将将While语句改语句改 为为For语句?语句? 【实例5.11】窗体中有5个

22、标签和1个组合框。程 序运行时在组合框中显示5个学生的姓名,组合框 的文本框中显示第1个学生的姓名,2个标签中分 别显示该学生的学号和成绩;单击组合框中某一 姓名或在组合框中输入已有学生姓名,在2个标签 中分别显示该学生的学号和成绩;若输入的学生 不存在,在消息框中显示“无此人!”。 (1)在窗体中添加所需控件。组合框控件在工 具 箱中的图标是 。 组合框 (名称) Style cboName 1-Simple Combo (2)编写窗体装载事件过程代码 Private Sub Form_Load() cboName.AddItem 孙丹丹 cboName.AddItem 赵颖 cboName.AddItem 刘晓磊 cboName.AddItem 张鹏 cboName.AddItem 李立新 cboName.Text = cboName.List(0) lblNum.Caption = 053301 lblScore

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论