VB上机练习题(二).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 上机 练习题
- 资源描述:
-
VB上机练习题(二) 18、新建一个工程,完成应用程序的设计,具体要求如下: 1. 按照图11所示在窗体上放置按钮和控件; 2. 在两个列表框控件的list中输入一些内容; 3. 单击“<”按钮时,把list2中选中的一项放到list1中,并且在list2中删除该项; 4. 单击“<<”按钮时,把list2中所有的项放到list1中,并且清空list2; 5. 单击“>”按钮时,把list1中选中的一项放到list2中,并且在list1中删除该项; 6. 单击“>>”按钮时,把list1中所有的项放到list2中,并且清空list1; 7. 单击“结束”按钮时,退出应用程序。 图15 Private Sub Command1_Click() If List1.ListIndex = -1 Then MsgBox "请选择一项再按键!" Else List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End If End Sub Private Sub Command2_Click() Do Until List1.ListCount = 0 List2.AddItem List1.List(0) List1.RemoveItem 0 Loop End Sub Private Sub Command3_Click() Do Until List2.ListCount = 0 List1.AddItem List2.List(0) List2.RemoveItem 0 Loop End Sub Private Sub Command4_Click() If List2.ListIndex = -1 Then MsgBox "请选择一项再按键!" Else List1.AddItem List2.Text List2.RemoveItem List2.ListIndex End If End Sub Private Sub Command5_Click() End End Sub 19、新建一个工程,完成“收款计算”程序的设计,具体要求如下: 1. 按照图16所示在窗体上放置控件; 2. 窗体上有三个文本框,上面两个分别用于输入商品单价和商品数量,单击“计算”,将应付款显示在最下面一个文本框中; 3. 最下面一个文本框(应付款)不能直接输入; 4. 单击“清除”按钮,三个文本框内容被清空,同时第一个文本框获得焦点。 图16 Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End Sub Private Sub Command2_Click() Dim x, y, sum! x = Val(Text1.Text) y = Val(Text2.Text) sum = x * y Text3.Text = CStr(sum) End Sub Private Sub Form_Load() Text3.Enabled = False End Sub 20、新建一个工程,完成应用程序的设计,具体要求如下: 1. 如图17所示,在窗体上放置一个水平滚动条、一个标签框和一个命令按钮; 2. 滚动条状态发生改变时,标签上的文字可以左右移动,文字移动范围等于滚动条的范围。 图17 Private Sub Command1_Click() End End Sub Private Sub Form_Load() HScroll1.Max = 6000 HScroll1.Min = 0 HScroll1.LargeChange = 40 HScroll1.SmallChange = 10 End Sub Private Sub HScroll1_Change() Label1.Left = HScroll1.Value End Sub 21、新建一个工程,完成应用程序的设计,具体要求如下: 1. 按照图18所示在窗体上放置控件; 2. 4个单选按钮分别用于显示星期、年份、月份和日期; 3. 选中某个单选按钮时,在文本框中显示当天对应的日期信息; 4. 单击“结束”命令该按钮时,退出应用程序。 图18 Private Sub Option1_Click() If Option1.Value = True Then Text1.Text = WeekdayName(Weekday(Now)) End If End Sub Private Sub Option2_Click() If Option2.Value = True Then Text1.Text = Year(Now) End If End Sub Private Sub Option3_Click() If Option3.Value = True Then Text1.Text = Month(Now) End If End Sub Private Sub Option4_Click() If Option4.Value = True Then Text1.Text = Day(Now) End If End Sub 22、新建一个工程,完成“计算平均成绩”应用程序的设计,具体要求如下: 1. 按照图19所示在窗体上放置控件; 2. 在输入或修改单科成绩的同时计算平均分,即在"高数"、"英语"和"计算机"文本框内容发生改变时,就要立即重新计算平均分,并将计算结果在“平均成绩”文本框中显示; 3. “平均成绩”文本框不允许编辑,即不能手工修改; 4. 各单科成绩文本框中只能输入数字,不能输入字母或汉字,否则给出错误提示。 图19 Dim a, b, c, sum! Private Sub Form_Load() Text4.Enabled = False End Sub Private Sub Text1_Change() a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) sum = a + b + c Text4.Text = CStr(sum) End Sub Private Sub Text2_Change() a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) sum = a + b + c Text4.Text = CStr(sum) End Sub Private Sub Text3_Change() a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) sum = a + b + c Text4.Text = CStr(sum) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then MsgBox "请输入数字!" End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then MsgBox "请输入数字!" End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then MsgBox "请输入数字!" End Sub 23、设计一个秒表模拟程序,按下“开始”按钮,屏幕显示当前时间;按下“结束”按钮,屏幕显示结束时间和持续时间;按下“退出”按钮,结束程序。 图20 Dim a As Date, b As Date Private Sub Command1_Click() a = Now Text1.Text = Format(Now, "HH:MM:SS") End Sub Private Sub Command2_Click() b = Now Text2.Text = Format(Now, "HH:MM:SS") Text3.Text = Format(a - b, "HH:MM:SS") End Sub Private Sub Command3_Click() End End Sub 24、设计一个用来控制文本框中信息格式的程序,界面如图21所示: 图21 Private Sub Check1_Click(Index As Integer) If Check1(0).Value = 1 Then Text1.FontBold = True Else Text1.FontBold = False End If If Check1(1).Value = 1 Then Text1.FontItalic = True Else Text1.FontItalic = False End If If Check1(2).Value = 1 Then Text1.FontUnderline = True Else Text1.FontUnderline = False End If End Sub Private Sub Option1_Click(Index As Integer) Select Case Index Case 0 Text1.FontSize = 14 Case 1 Text1.FontSize = 12 Case Else Text1.FontSize = 8 End Select End Sub Private Sub Option2_Click(Index As Integer) Select Case Index Case 0 Text1.ForeColor = vbRed Case 1 Text1.ForeColor = vbGreen Case Else Text1.ForeColor = vbBlue End Select End Sub 25、新建一个工程,完成“字幕闪烁”程序的设计,程序界面如图22所示,具体要求如下: 1. 窗体的标题为“字幕闪烁”,固定边框; 2. 在属性窗口中将标签(Label1)的标题设为“祝您考试成功”,字体设置为“宋体”、“粗体”、“二号”,文字颜色为“红色”,格式设置为水平居中对齐; 3. 单击“开始”按钮(Command1),标签文字在定时器控制下自动交替以红蓝两种颜色显示,同时“开始”按钮变为“停止”按钮; 4. 单击“停止”按钮,标签文字停止闪烁,同时“停止”按钮变为“开始”按钮; 5. 定时器(Timer1)的时间间隔为0.3秒。 图22 Private Sub Command1_Click() If Command1.Caption = "开始" Then Command1.Caption = "停止" Else Command1.Caption = "开始" End If If Command1.Caption = "开始" Then Timer1.Enabled = False If Command1.Caption = "停止" Then Timer1.Enabled = True End Sub Private Sub Form_Load() Label1.ForeColor = vbRed Label1.Left = (Form1.Width - Label1.Width) / 2 Command1.Caption = "开始" Timer1.Enabled = False Timer1.Interval = 300 End Sub Private Sub Timer1_Timer() If Label1.ForeColor = vbRed Then Label1.ForeColor = vbBlue Else: Label1.ForeColor = vbRed End If End Sub 26、新建一个工程,完成“字幕滚动”程序的设计,程序界面如图23所示,具体要求如下: 1. 窗体的标题为“字幕滚动”,固定边框; 2. 在属性窗口中将标签(Label1)的标题设为“祝您考试成功”,字体设置为“宋体”、“粗体”、“二号”,文字颜色为“红色”; 3. 单击“开始”按钮,标签文字在定时器控制下自动地从左向右移动,移动速度为每个时间间隔右移100缇。当标签移动到窗体外时,再从窗体的左边进入,同时“开始”按钮变为“停止”按钮; 4. 单击“停止”按钮,标签“祝您考试成功”文字停止滚动,同时“停止”按钮变为“开始”按钮; 5. 定时器(Timer1)的时间间隔为0.1秒。 图23 Private Sub Command1_Click() If Command1.Caption = "开始" Then Command1.Caption = "停止" Else: Command1.Caption = "开始" End If If Command1.Caption = "开始" Then Timer1.Enabled = False If Command1.Caption = "停止" Then Timer1.Enabled = True End Sub Private Sub Form_Load() Label1.ForeColor = vbRed Command1.Caption = "开始" Label1.Left = (Form1.Width - Label1.Width) / 2 Timer1.Enabled = False Timer1.Interval = 100 End Sub Private Sub Timer1_Timer() If Label1.Left <= Form1.Width Then Label1.Left = Label1.Left + 100 Else: Label1.Left = -Label1.Width End If End Sub 27、新建一个工程,完成“字幕放大”程序的设计,程序界面如图24所示,具体要求如下: 1. 窗体的标题为“字幕放大”,固定边框; 2. 单击“开始”按钮(Command1),标签“欢迎光临”(Label1)文字在定时器控制下字号自动增加2,同时“开始”按钮变为“停止”按钮; 3. 单击“停止”按钮,标签“欢迎光临”文字停止放大,同时“停止”按钮变为“开始”按钮; 4. 要求标签文字在放大时保持水平居中; 5. 定时器(Timer1)的时间间隔为0.2秒。 图24 Private Sub Command1_Click() If Command1.Caption = "开始" Then Command1.Caption = "停止" Else Command1.Caption = "开始" End If If Command1.Caption = "开始" Then Timer1.Enabled = False If Command1.Caption = "停止" Then Timer1.Enabled = True End Sub Private Sub Form_Load() Label1.Left = (Form1.Width - Label1.Width) / 2 Command1.Caption = "开始" Timer1.Enabled = False Timer1.Interval = 200 End Sub Private Sub Timer1_Timer() Label1.FontSize = Label1.FontSize + 2 Label1.Left = (Form1.Width - Label1.Width) / 2 End Sub 28、新建一个工程,完成“改变大小”程序的设计,程序界面如图25所示,具体要求如下: 1. 窗体的标题为“改变大小”,固定边框; 2. 窗体上引入一个红色的圆形形状控件(Shape1),圆的直径为3400Twips; 3. 窗体的下面有一个水平滚动条(Hscroll1),将它的最大值设置为与圆的直径相同,初始值为最大值,SmallChange和LargeChange均为100Twips; 4. 水平滚动条的下面有两个标签控件,左边标签(Label1)的标题为“圆的直径为:”,右边标签(Label2)的标题为“3400”,两个标签均为固定边框; 5. 改变滚动条的值可以控制圆形直径,同时在标签Label2中动态显示圆的直径; 6. 要求圆形直径在变化时要保持圆心位置不变。 图25 Private Sub HScroll1_Change() Shape1.Width = HScroll1.Value Shape1.Height = HScroll1.Value Shape1.Left = (Form1.Width - Shape1.Width) / 2 Shape1.Top = (Form1.Height - Shape1.Height) / 2 Label2.Caption = Str(HScroll1.Value) End Sub 29、新建一个工程,完成“作图”程序的设计,程序界面如图26所示,具体要求如下: 1. 窗体的标题为“作图”,固定边框; 2. 窗体的右边是一个图片框(Picture1),用于显示图形; 3. 单击“坐标系”按钮(Command1),将图片框的坐标系统设置为原点在中央,x轴[-10,10],y轴[-10,10],并在图片框中画出该坐标系统示意图; 4. 单击“扇形”按钮(Command2),在图片框中画一个圆心在原点,半径为5,圆周为红色,线宽为2,内部为绿色,起始角为π/6,终止角为5π/6的扇形; 5. 单击“结束”按钮(Command3),程序结束运行。 图26 Private Sub Command1_Click() Picture1.Scale (-10, -10)-(10, 10) Picture1.Line (-10, 0)-(10, 0) Picture1.Line (0, -10)-(0, 10) Picture1.CurrentX = 0 Picture1.CurrentY = 0 Picture1.Print "(0,0)" End Sub Private Sub Command2_Click() Const pi = 3.1415926535 Picture1.DrawWidth = 2 Picture1.FillStyle = 0 Picture1.FillColor = RGB(0, 255, 0) Picture1.Circle (0, 0), 5, RGB(255, 0, 0), -pi / 6, -pi * 5 / 6 End Sub Private Sub Command3_Click() End End Sub 30、新建一个工程,完成“绘制图形”程序的设计,具体要求如下: 1. 窗体的标题为“绘制图形”,固定边框; 2. 按照图27所示在窗体上放置控件; 3. 窗体左侧为图片框(Picture1),用于绘制指定图形; 4. 首先在右侧框架(Frame1)中选择绘图颜色,接着在下方框架(Frame2)中选择图形种类,最后在图片框中绘制相应图形; 5. 用输入对话框输入所需参数,如绘制圆时,输入圆心坐标与半径; 6. 单击“结束”按钮(Command1),程序结束运行。 图27 Dim c As String Private Sub Option1_Click(Index As Integer) Select Case Index Case 0 c = vbRed Case 1 c = vbBlue Case Else c = vbBlack End Select End Sub Private Sub Option2_Click(Index As Integer) Select Case Index Case 0 Picture1.Cls Picture1.Line (0, 500)-(1000, 500), c Case 1 Picture1.Cls Picture1.Line (200, 200)-(500, 500), c, B Case Else Picture1.Cls X = InputBox("请输入x的值") Y = InputBox("请输入y的值") r = InputBox("请输入r的值") Picture1.Circle (X, Y), r, c End Select End Sub 31、新建一个工程,完成“倒计时”程序的设计,具体要求如下: 1. 参照图28完成界面设计。 2. 窗体的左边有一个框架Frame1,标题为“选择时间”;框架内有一组单选按钮控件数组,从上到下为Option1(0)、Option1(1)、Option1(2),标题分别为“1分钟”、“5分钟” 、“10分钟”。默认选择为1分钟。 3. 标签Label1,用于显示倒计时的剩余的时间。 4. 单击“开始计时”按钮(Command1)后,程序根据选择的时间开始倒计时,同时命令按钮变为不可使用,框架也不可使用。 5. 当剩余时间到0分0秒时,改为显示“时间到!”。 6. 定时器Timer1的时间间隔为1秒。 图28 Dim x As Integer Private Sub Command1_Click() Command1.Enabled = False Frame1.Enabled = False Timer1.Enabled = True End Sub Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 1000 End Sub Private Sub Option1_Click(Index As Integer) Select Case Index Case 0 x = 1 * 60 Case 1 x = 5 * 60 Case 2 x = 10 * 60 End Select End Sub Private Sub Timer1_Timer() If x = 0 Then Label1.Caption = "时间到!" Timer1.Enabled = False Command1.Enabled = True Frame1.Enabled = True Else x = x - 1 Label1.Caption = Str(x \ 60) & "分" & Str(x Mod 60) & "秒" Frame1.Enabled = False Command1.Enabled = False End If End Sub 32、某公司对员工的工资进行调整:若原有工资大于等于1000元,增加工资35%;若小于1000元大于等于800元,则增加工资25%;若小于800元,则增加工资15%。请根据用户输入的原有工资,计算出增加后的工资。 图29 Private Sub Command1_Click() Text1.Text = "" End Sub Private Sub Command2_Click() End End Sub Private Sub Text1_Change() x = Val(Text1.Text) Select Case x Case Is > 1000 x = x * 1.35 Option1(0).Value = True Case 800 To 1000 x = x * 1.25 Option1(1).Value = True Case Else x = x * 1.15 Option1(2).Value = True End Select Text2.Text = CStr(x) End Sub 33、设计一个“家电提货单”管理程序,程序运行界面如下图所示。具体要求如下: 1. 单击“确定”后,根据选择的内容将清单及总价在列表框中列出。 2. “清除”按钮用于清空列表框中的项目。 3. 所有文本框只接受数字。 图30 Private Sub Command1_Click() Dim a1, a2, a3, a4, a5, a, t1, t2, t3, t4, t5, ts% t1 = Val(Text1.Text) t2 = Val(Text2.Text) t3 = Val(Text3.Text) t4 = Val(Text4.Text) t5 = Val(Text5.Text) If Check1.Value = 1 Then a1 = 3580 * t1 msg1 = "彩电" & CStr(t1) & "台" & vbCrLf End If If Check2.Value = 1 Then a2 = 660 * t2 msg2 = "微波炉" & CStr(t2) & "台" & vbCrLf End If If Check3.Value = 1 Then a3 = 1850 * t3 msg3 = "电冰箱" & CStr(t3) & "台" & vbCrLf End If If Check4.Value = 1 Then a4 = 2880 * t4 msg4 = "DVD" & CStr(t4) & "台" & vbCrLf End If If Check5.Value = 1 Then a5 = 5500 * t5 msg5 = "空调" & CStr(t5) & "台" & vbCrLf End If a = a1 + a2 + a3 + a4 + a5 ts = t1 + t2 + t3 + t4 + t5 msg6 = "共:" & CStr(ts) & "台 " & "合计金额:" & CStr(a) & "元" msg = msg1 + msg2 + msg3 + msg4 + msg5 + msg6 Text6.Text = msg End Sub Private Sub Command2_Click() Check1.Value = 0 Check2.Value = 0 Check3.Value = 0 Check4.Value = 0 Check5.Value = 0 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub Private Sub Text5_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub 21展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




VB上机练习题(二).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/10820751.html