当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华东理工大学:《VB程序设计》课程教学资源(学习指导)第2章 VB窗体和常用控件

资源类别:文库,文档格式:PDF,文档页数:7,文件大小:246.55KB,团购合买
点击下载完整版文档(PDF)

第2章VB窗体和常用控件 2.1基本要求 1.掌握VB窗体常用属性,事件和方法的使用: 2.掌握建立一个VB应用程序的方法和操作步骤 3.掌握对象属性值的设置方法: 4.掌握标签控件、命令按钮控件、文体框控件的常用属性,事件和方法的使用。 2.2知识点 1.类 类是创建对象实例的模板,是同种对象的集合与抽象,包含了创建对象的属性描述和行 为特征的定义。 2.对象 对象是类的一个实例,它继承了类的属性、方法。 3.对象的建立 (1)窗体对象的建立:选择“工程”菜单中的“添加窗体”命令 (2)控件对象的建立:双击工具箱中控件对象按钮或单击后在窗体上拖动鼠标。 4.对象的三个要素: (1)属性:是用来描述和反映对象特征的参数,对象中的数据保存在属性中。不同的 对象具有各自不同的属性。对象屈性的设置方法有两种:在设计阶段用属性窗口设置:在程 序代码中通过赋值来设置。 (2)事件:响应对象的动作称为事件,它发生在用户与应用程序交互时。 (3)方法:方法就是VB为程序设计人员提供的一种特殊的过程和函数,用户可直接 调用方法而完成某一个功能。对象方法的调用格式为:[对象]方法[参数名表] 5.窗体 (1)窗体的属性 Name(名称):窗体名称,当使用窗体对象时必须要用该名称来标识窗体。 Caption属性:决定窗体标题栏中的内容。 Forecolor属性:决定窗体的前景颜色(即窗体上正文的颜色), Backcolor属性:决定窗体的背景颜色。 MaxButton属性:最大化按钮属性,为Tnue时,窗体右上角有最大化按钮,为False时 则无最大化按钮。 MinButton属性:最小化按钮属性,为Tnue时,窗体右上角有最小化按钮,为False时 则无最小化按钮。 Icon属性:决定窗体最小化时的图标。 ControlBox屈性:决定窗体左上角是否有控制菜单框, Picture属性:决定窗体背景中要显示的图形。 BorderStyle屈性:决定窗体的边框样式。 WindowsState属性:决定窗体执行时以什么状态显示。 Font属性:决定窗体文本的外观

                   !   "#$ %&'()$ %*+$  ,     -./0123  .456789 :; ? @ABCD,  .-01 EFG abABcd Rdefg[R,h4 Wijkh4, ! il5J[ mnop ![ qrRstu` !, HI Jv^w@ Exy[z8{|}, HI J ~.  @ m€‚5Aƒt „d z…†‡ ˆ ‰Š‹ŒŽ, ˆ@J   cd‘’  HI ‘wJ‘w }•‘w`",   J™C"š›Rœ,  J™CžŸ ¡¢\£* ¡,   J™C¤Ÿ ¡,   J¥¦§() @  } ¨\©i¥¦§() @  ! } ª«¥¦§(),  J¥¬§() @  } ¨\©i¥¬§() @  ! } ª«¥¬§(), " J™C¥¬§}­",  J™C®\©.¯i$°PQ+, # J™C¤ŸR±²­³, $%& J™C´+µ, '$(!%  J™C¶?}·¸¹º»±²,  J™C*¼½¾,

(2)窗体的事件 Load事件:当装入窗体时激发,通常用于对属性和变量初始化。 Click事件:当单击窗体时,就会激发该事件。 Db Click事件:当双击窗体时,就会激发该事件 Activate事件:当一个窗体被激活时会发生该事件。 (3)窗体的方法 Print方法:在对象上输出信息。其形式:[对象]Pimt[表达式列表] Cs方法:清除运行时在窗体中显示的文本或图形,不清除窗体在设计时的文本和图形。 形式:[对象]Cs Move方法:改变窗体的位置, 6.标签框对象(Label) 用于显示或输出文本信息,不能作为输入信息的界面, (1)主要屈性 Name(名称):设置名称的属性 Caption:设置标题的属性 Height、Width、Top、Left:设置大小、位置的属性 Enabled:设置标签框是否可操作的属性 Visible:设置程序运行时标签框是否可见的属性 Fomt:设置标签框上文本的字 体、大小等属性 BorderStyle设置标签框边框样式的属性 ForeColor设冒标签框文木颜色的属性 Backcolor设置标签框背景颜色的属性 Alignmemt设置标签框上文本对齐方式的属性。 (2)事件:单击(Click)双击(Dblelick)改变(Change 7.命令按纽(CommandButton) 用于接受用户输入的命今。输入命令可以有三种方式:鼠标单击、Tb键焦点到核按钮 快徒健。 (1)主要属性 Name(名称):设置名称的属性 Caption:设置标题的属性 Height、Width、Top、Left:设置大小、位置的属性 Enabled:设置命令按钮是否可操作的属性 Visible:设置程序运行时命令按钮是否可见的属性 Fot:设置命令按钮上文本的字体、大小等属性 Sy:用来决定命令按钮的标题中是否可以使用图形 Picture:选择命令按钮上的图形文件 ToolTipText:设置命令按钮的提示信息 (2)常用事件:Click、LostFocus、GotFocus、Mouseup、MouseDown &.文本框(TextBox) 文本框是一个文本编辑区域,可在该区域输入,编辑和显示正文内容

HI ) $ J¿À}Áx s ÃÄÅƧ,  JQV} ~ÇÁx , *+ JUV} ~ÇÁx , ,-  JÈÁÉ}Çxy , HI  # J[\ÊËÌÍ,γJ  #  ’ϐВ ! JÑÒÓ?}[R±²*¼Y­³ hÑÒ[ m}*¼ ­³, ³J  ! - JÔÃÕ!,    ±²YÊË*¼ÌÍ hŽ@ÊÀÌÍÖ×, HIØ H‘wIJ !‘w  J !"š ./0%'$0% %)1J !¦¬%Õ! 2 +$J !"#+.¯… !+J !Ó?}"#+.¯…Ù J !"#+\*¼Ú %¦¬Û $%& !"#+´+µ  !"#+*¼ ¡   !"#+¤Ÿ ¡ ,/ !"#+\*¼Ü , HI JQVHI UVH*+IÔÃH0 /I    ‡ÝzÊÀ&',ÊÀ&'…·iÞ5 J_"QV% + ßàáâ()% ãäß, HIØ H‘wIJ !‘w  J !"š ./0%'$0% %)1J !¦¬%Õ! 2 +$J !&'().¯… !+J !Ó?}&'().¯…Ù J !&'()\*¼Ú%¦¬Û %&J`™C&'()"šR.¯…·­³ #JKL&'()\­³*   J !&'()²ÌÍ HI J%)!!%3!%!% !*(   *¼+.*¼åæçè …[çèÊÀ åæ ±²£*œ,

(1)主要属性 Name(名称):设置名称的属性 Tct:存放文木框中显示的正文内容 Height、.Width、Top、Let:设置大小、位置的属性 Enabled:设置文木框是否可操作的属性 Visible:设置程序运行时文本框是否可见的属性 Fomt:设置文本框上文本的字体、大小等属性 Maxlength:决定文本框上能够输入正文的最大长度 PasswordChar:决定是否在文本框中显示用户输入的字符 Locked:决定文本框是否可以被编辑 MultiLine:决定文本框是否可以接受多行文本 Scrollbars属性:决定文本框是否加滚动条 (2)常用事件:Click、DbICliek、Change、eypress、LostFocus (3)常用方法:SetFocus 2.3疑难解析 1.使用L0ad语句加载窗体,窗体不显示? Load语句将窗体装入内存并设置窗体的Visible属性为False(无论在设计时如何设置 Visible属性),此时可以引用窗体中的控件及各种属性。为了使窗体可见,在用Load语句 后,再将窗体的Visible属性设置为Tue,或使用Show方法加载窗体。 2.在Form_Load事件中,SetFocus方法不起作用? 与系统在窗体装载入内存时无法同步地调用窗体的Prt方法输出一样,也无法调用 SetFocus方法来定位控件的焦点。解决方法是在属性窗口对要定位焦点的控件的TabIndex 属性值设为0即可。 3.程序运行时,对多个文本框间焦点移动的问题 方法一:按Tb键,不必编写代码,直接利用系统提供的功能方便地在各控件之间移动。 方法二:按Enter键,并且编写下列事件过程代码: Private Sub Text1_KeyPress(KeyAscii As Integer) If KevAscii 13 Then text2.SetFocus End If End Suh 4.数据合法性检查中引起程序的死循环? 在数据输入时,经常需要对输入的数据做合法性检查,以确保程序运行的正确性。如: 对输入的成绩数据要求是数字,否则删除原输入的内容,并将焦点仍定位于该文本框。例如 下面有一个要实现成绩输入的简单程序,语文成绩输入至文本框texl,数学成绩输入至文 本框text2,程序界面如图2-1所示

HIØ H‘wIJ !‘w Jgé*¼+R±²£*œ ./0%'$0% %)1J !¦¬%Õ! 2 +$J !*¼+.¯… !+J !Ó?}*¼+.¯…Ù J !*¼+\*¼Ú%¦¬Û  /0J™C*¼+\ŽêÊÀ£*¥¦ëì # !!($0 J™C.¯[*¼+R±²zÊÀÚí )$J™C*¼+.¯…·Èåæ )J™C*¼+.¯…·‡Ýî?*¼ %+ ! J™C*¼+.¯Tï^ð HI J%*+%0 /%&!!%)!! HI J%!         !" ) $ ñòó¿Àœgô ! !+ @  !H«õ[ m}ö÷ ! !+ I ø}…·ùR$ új5,@&?),-@AB [deÊÀ} ÊÀde7 ·fÓ?£,öJ ÊÀ‹de.dÚ ¯ªÒÊÀœ ôóàáCÕÂ*¼+,1ö ×i0‹ÊÀQ ñ*‹ÊÀ*¼+  d‹ÊÀ* ¼+  Ö×ö­ 8 ²,

4oml回回☒ 语文: 数学: 图21程序界面 要实现合法性检查功能,分别在Text1_LostFocus、Txt2 LostFocus事件过程中编写如 下代码: Private Sub Text1_LostFocus( If Not IsNumeric(Textl.Text)Then Textl.Text =" TextI.SetFocus End If End Sub Private Sub Text2_LostFocus() If Not IsNumeric(Text2.Text)Then Text2.Text= Text2.SetFocus End If End Sub 程序运行时,当在语文成绩框Text1中输入非数字字符时,焦点在数学成绩框Text2中 不停地闪动,程序产生死循环。这是因为:当Tet1输入结束,鼠标单击T2时,激发了 Text1_LostFocus事件,焦点到达Text2:但由于这时Text1中的数据是非数字的,必然会调 用Textl..SetFocus方法,使焦点从Tex2回到Textl;而又激发了Text2 LostFocus事件,此 时,Text2中还未输入任何数据,IsNumeric(Text2.Text)值为False,必然会调用Text2.SetFocus 方法,使焦点从Text1回到Text2,如此就产生了死循环 通过分析,只要Tex2有默认值就不会产生死循环,因此解决Tx1输入错时产生死循 环的方法是,把Private Sub Text2 LostFocus()事件过程中If的条件表达式改为:If Tex2.Text~"And Not IsNumeric(Tex2.Tex)Then即可。 5.如何声明局部变量和窗体级变量,它们有何区别? 在VB程序中,除了大量的控件对象外,还要使用一些变量,暂时存放一些中是结果。 这些变量的声明可以放在过程外的“通用声明”段,称为窗体级变量:也可以放在过程中 称为局部变量。初学者往往对一个变量应该声明为局部变量还是窗体级变量,感觉难以确定。 其实,只要弄清楚它们的区别,就容易把握了。 局部变量和窗体级变量的区别: 窗体级变量在木窗体的所有过程中均可使用:而局部变量仅在变量声明所在的过程中可 使用,也即随着本过程的执行而分配到存储空间,当执行到EndSub语句,分配的内存空间 被回收,变量的值也就丢失。 2.4典型例题 例2-1在窗体上,生成一个文本框,名称使用默认值,在属性窗口中将Tx属性设置

­ 8 Ö× 07Ž [ 5)!!% 5)!! tRåö qrJ #- %+ 5)!!   "1 "!    0      799     %!   2$"1 2$%+ #- %+ 5)!!   "1 "!    0      799     %!   2$"1 2$%+ Ó?} [ñ*‹+  RÊÀdÚÚí} àá[d‹+  R h !^ "y#$%,&.'@J  ÊÀ() _"QV  } ÁxÃÄ…·é[tR w@?@ÃÄ,ÅABBÃÄÃÄ CDE·C, Î0 4FÑGEHç ~I8ÃÄçJ >ÃÄ[¼itRJ…‰?@ÃÄK[ÃÄ<=[tR…  ¢LM¼t¶?‰NâgOP ¶?â 2$%+ ñò NœgP È.Q ÃÄ~RS,   1 8 [\ y‹*¼+ ‘w56 [pRó   !

为“选定此文本框的部分内容”。编写代码实现选定文本框中部分内容的功能,如图所示。 解答: (1)新建工程,并在窗体上添加一个文本框。 (2)在Form的Load事件过程中添加下列代码: Private Sub Form_Load() Text1.SelStart=0 Text1.SelLength=8 End Sub 运行后界面如图2-2所示。这一点可以在许多Windows应用软件的“另存为”对话框 的“文件名”框中见到。 .Form3 选定此文本框的部分内容 图2-2运行后界面 例22设计一个简易计算器的界面。 提示:实际操作时,可先画一个命令按钮,调整其大小后,先复制,后粘贴,可避免重 复设置按纽属性和重复调整按钮大小。在作粘贴时,系统会提示您是否创建控件数组,这时, 单击“否”按钮,重复粘贴操作,即可得到多个外观一样的命令按钮。 解答: (1)新建一个窗体,设置Caption属性为“简易计算器”。 (2)在窗体上画一个文本框,设置Txt属性为空白 (3)在窗体上画16个命令按钮,适当调整它们的大小和位置,然后在属性窗口中将它 们的Caption属性分别设置为1、2、3、4、5、6、7、8、9、0、.、C、+、-、*、/。如图 2-3所示. s工程1-fam2form 。脑易计红器 12 789 图2.3设计界面 例23编一帐号和密码输入的检验程序。对输入的帐号和密码规定如下

@MKCø*¼+@œO,åqr0KC*¼+R@œŽ ö­², TJ HIUN ô[\ST*¼+, HI[   ) $ tRST ÐqrJ #- %+5) $ %% 74 %)/07< 2$%+ Ó?ZÖ×ö­ 8 ²,&ᅷ[Vî '$(! W MXg@OY+ M* ‘O+RÙâ, ­ 8 Ó?ZÖ× 1 8 mImZ[Ö×, ²J0]} …^_&'() ˆ`Φ¬Z ^a° Zbc …def a !() faˆ`()¦¬,[bc} ýþǁ²g.¯/$ dh &} QVM¯O() fabc ¢…iâî½¾µ&'(), TJ HjIU ! klmnopq @MImZ[O, HrI[\_*¼+ ! stun @Pv, HwI[\_ = &'() xˆ`EH¦¬ Õ! ,Z[pRóE H klmnopq  !@ j%r%w%y%z%{%|%}%~%%€%k%%‚%ƒ%„,ö­ r‚w ², ­ 8 mÖ× 1 8 å…† ‡rÊÀˆ,ÊÀ…† ‡r‰Cö J

(1)帐号为不超过6位数字,密码为6位字符,在本题中,密码假定为“123456”. (2)密码输入时在屏幕上不显示输入的字符,而以“常”代梦 (3)当输入不正确, 如帐号为非数字字符或密码不正确时, 显示有关信息 (4)当输入正确时,关闭密码窗口, 显示Windows操作系统的记事本窗口 按要求完成有关控件的属性的设置,编写确定按纽的单击事件过程。相关界面如图24所示。 回☒ 入密 8 应现特误 确定 取油 图24登录窗口,输入密码对话框 解答: (1)新建工程,在窗体上添加2个文本框,2个标签框,2个命令按钮,并参照上图设 置标签框和命令按钮的Caption屈性 (2)编写以下事件代码: Private Sub Form Load() Textl.MaxLength-6 Text2.PasswordChar End Sub Private Sub Textl_LostFocus() DimiAs Integer,s As String1 If Not IsNum ric(Text1.Text)Then MsgBox"账号有非数字符号”vbExclamation+vbRetyCancel,输入账号 Textl.Text= Textl.SetFocus Exit Sub End If If Len(Text1.Text)>6Then MsgBox"账号不能多于6位!+vbRetryCancel,.输入账号 Textl.Text = Text1.SetFocus End If End Sub Private Sub Command1_Click( If Text2.Text ="123456"Then Me Hide Shell "c:\winnt notepad exe"vbMaximizedFocus Else MsgBox"密码错误",vbCritical-+vbRetryCancel,."输入密码 Text2.Text Text2.SetFocus

HI…†@hŠt = ÕdÚ ‡r@ = ÕÚí [¼šR ‡r‹C@M>=O, HI‡rÊÀ}[Œ\h±²ÊÀÚí ‰·M?OqŽ, HIÊÀh£ ö…†@dÚÚíY‡rh£} ±²iÌÍ, HIÊÀ£} ‡rp ±² '$(! ýþ‘ ¼p, (Š‹i$  ! åC()QV t,’Ö×ö­ 8 ², ­ 8 p ÊÀ‡rY+ TJ HIUN [\ST  *¼+  "#+  &'() ôc•\­ !"#+ &'()   , HrIå· qrJ #- %+5) $    )/07=   # !!($0 79?9 2$%+ #- %+ 5)!!   *,!"/ !,!%/?   "1 "!    0      !/9†idÚí†9 -+2  @-+A&  9ÊÀ†9       799      %!      2%+   2$"1   "1)  ;= 0     !/9†hŽî = Õ9 -+2  @-+A&  9ÊÀ†9      799     %!   2$"1 2$%+ #- %+ $5 "1  79>=9 0   .$   %09BC(C $9 -+ D$! 2!   !/9‡r79 -+ @-+A&  9ÊÀ‡r9    799   %!

End If End ub Privat Sub Command2 Click() End End Sub (3)运行应用程序,得到如上图所示的运行界面 2.5练习与思考 习题2-1什么是对象?Visual Basic中的对象与类的区别是什么? 习2-2用标签和文本框都可以显示文本信息,二者的区别是什么? 习题2-3在print方法中利用Tab函数和String函数及Fom窗体的AutoRedraw属性在 From Load事件中,显示如图2.5所示的图形. 提示:只要利用String和一个简单的循环结构完成。对Fom窗体的AutoRedraw属性 设置为True后,Print、Line、Cirele、Pset等方法在Form_Load事件过程中才有作用。 Formi-可☒ 图2-5习题23要打印的图形 习题2-4新建一个工程,在名称为Foml的窗体上画一个名称为Lbl1的标签,标题 为“请确认”:再画两个命令按钮,名称分别为“是”、“否”,高均为350、宽均为680。如 图2-6所示。 请在犀性窗口中设置话当属性满足以下要求 1)窗体标题为“确认”,窗体标题栏上不显示最大化和最小化按纽: 2)在任何情况下,按回车键都相当于单击“是”按钮:按SC健都相当于单击“否” 按钮 习题2-5新建一个工程,在名称为Fom1的窗体上画一个命令按钮,名称为Cmd,其 标题为“移动”,如图2-7所示。要求编写适当的事件过程,使得程序运行时,每单击按钮 一次,按钮向左移动200。 确认 请确认 动 ■国 否 图2-6确认对话框 图2-7习题2-5运行窗

2$"1 2$%+ #- %+ $5   2$ 2$%+ HIÓ? iâö\­²Ó?Ö×, >  ™š 8 ¸¹.š!  ! R8-ç.¸¹š ™š 8 "# *¼+›…·±²*¼ÌÍ Aç.¸¹š ™š 8 [  R + „d %/ „dú   ,A$ ( [ 5) $ R ±²ö­ 8> ²­³, ²J4 %/ Q$%(œŠ‹,   ,A$ (  !@  Z #%)%%#! Û [ 5) $ tRi, ­ 8> ™š 8 žŸ­³ ™š 8 UN [‘w@  \_‘w@ ) + "# "š @M 6Oû_l&'() ‘w@M.O%M¯O ¡J@ >4%¢J@ = UN [‘w@  \_&'() ‘w@ $ Î "š@M ^O ö­ 8E ²,åx t iÓ?} ¨QV() © ()ª® ^ 44, ­ 8= 6Y+ ­ 8E ™š 8> Ó?p

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有