第6章表单与控件创建与使用答案
- 格式:doc
- 大小:3.13 MB
- 文档页数:14
第六章 表单设计一、选择题1、设表单FORM1包含命令按钮组G1和文本框T1,G1中包含命令按钮C1和C2,在C2的Click事件代码中要引用T1的VALUE属性,则正确引用是 。
A)THISORM.T1.VALUEB)THIS.Parent.T1.VALUEC)THIS.Parent.Parent.T1.VALUE D)T1.VALUE2、当调用表单的Show方法时,可能激发表单的 。
A)Load事件 B)Init事件 C)Activate事件D)Click事件3、组合框的内容进行一次新的选择,一定发生的事件是 。
A)change B)interactivechange C)whenD)click4、创建对象时发生 事件。
A)Init B)Load C)InteractiveChangeD)Activate5、用表单设计器设计表单,下列叙述中错误的是 。
A)可以创建表单集 B)可以向表单添加新属性和方法C)可以对表单添加新事件 D)数据环境对象可以加到表单中6、表单的Name属性用于______。
A)作为保存表单时的文件名 B)引用表单对象C)显示运行表单标题栏中 D)作为运行表单时的表单名7、可以在表单的数据环境中添加的是 。
A)表 B)表之间的临时关系 C)查询D)视图8、可改写计数属性的容器是 。
A)表单集、表格、页框、页面 B)命令按钮组、选项按钮组、表格、页框C)表单、列、页面、容器 D)页面、表单、工具栏、-SCREEN9、如果在运行表单前向表单中传递参数,则应在表单的 事件代码中包含PARAMENTERS语句。
A)Init B)Load C) Activate D)数据环境的BeforeOpenTables10、按钮的Name属性用于 。
A)作为按钮上的文字 B)按钮对象的引用名C)按钮的属性名 D)以上都不是11、下面关于OLE对象的说法中错误的是 。
A)可插入的OLE对象只能来自于支持OLE的应用程序,例如Excel和WordB)一个OLE对象,只能是图片、声音和Excel、Word文档C)在表单中,可以用绑定型OLE对象来显示通用型字段中OLE对象的内容D)使用表单设计器可以创建绑定型OLE对象12、一个按钮,若要在单击按钮后,按钮销毁,需要在click事件中写代码 。
第6章习题解答1.简述Java中设计图形用户界面程序的主要步骤。
对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。
2.试说明容器与组件之间的关系。
组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。
容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。
3.阅读下面程序,说明其运行结果和功能。
//filename:MyFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrame{public static void main(String agrs[]){JFrame f=new JFrame("简单窗体示例");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l=new JLabel("习题1");f.getContentPane().add(l,BorderLayout.CENTER);f.pack();f.setVisible(true);}}程序的运行结果如下:4.阅读下面程序,说明其运行结果和功能。
//filename:TestButton.javaimport java.awt.*;import javax.swing.*;public class TestButton extends JFrame{JButton b1,b2;TestButton(String s){super(s);b1=new JButton("按钮1");b2=new JButton("按钮2");setLayout(new FlowLayout());add(b1);add(b2);setSize(300,100);setVisible(true);}public static void main(String args[]){ TestButton test;test=new TestButton("测试按钮"); }}程序的运行结果如下:5.阅读下面程序,说明其运行结果和功能。
第六章表单的创建与使用6.1 面向对象程序设计概述1. 基本概念 P161-165面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核心。
类:定义了对象特征以及对象外观和行为的模板。
类的特征:1)封装性:隐藏了类中对象的内部数据或操作细节,只看到外表信息。
2)继承性:任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。
体现了面向对象设计方法的共享机制。
3)多态性:相同的操作可作用于多种类型的对象上,并获得不同的结果。
4)抽象性:提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。
基类:系统本身提供的类称为基类。
基类包括容器类和控件类。
容器类是其他对象的集合,如表格、选项按钮组;控件类是单一的对象,不包含其他对象,如命令按钮、文本框。
子类:以其他类定义为起点,对某一对象所建立的新类。
新类将继承任何对父类所做的修改。
类库:存储类的文件,每一个以可视方式设计的类都存储在一个类库中。
类库文件的扩展名为 .VCX 。
P216对象:是类的一个实例,包括了数据和过程。
具有所在类所定义的全部属性和方法。
VFP有两种对象:容器对象和控件对象。
属性:控件、字段或数据库对象的特性。
事件:由对象识别的一个动作。
方法:与对象相联系的由程序执行的一个处理过程,即处理事件的一组代码。
用户不可以为对象创建新的事件,但可以创建新的方法程序。
2. Visual FoxPro 基类 P166从下述 Visual FoxPro 基类中,可以派生子类或创建对象。
容器命令组控件微调标签表单命令按钮复选框OLE 容器控制线条表单集选项组列表框OLE 绑定型控制分隔符 # 表格选项按钮 # 文本框自定义形状标头 # 页框组合框工具栏图象列 # 页面 # 编辑框计时器注:# 这些类是父容器的集成部分,在类设计器中不能子类化。
基类事件的最小集合 P167事件说明Init 当对象创建时激活。
第6章:表单设计与应用表单的常用命令 thisform.release表单:文件名---即保存表单、运行表单需用的名字如 DO FORM 表单文件名控件名、名称----即NAME属性标题----即CAPTION属性事件:Load Init Destroy Unload表单一运行就要创建一个数组,可以在表单的Load 或Init事件中定义一数据变量,格式如下PUBLIC A(3)即定义了一个3个元素的数组,对数组赋值要注意后面的括号,如下A(1)=”3000”A(2)=”4000”A(3)=”5000”Autocenter----表单运行时自动居中标签:CAPTION、Alignment(对齐方式)、Fontsize(字体大小)、Fontname(字体)命令按钮:Enabled(操作题有考到,为.T.时可用,当为.F.时是灰色的,不可用)Visible(隐藏还是可见,.T.时可见,当为.F.时隐藏)文件框:VALUE(文件框的值,默认为字符型)PASSWORDCHAR(输入后用什么字符来代替,如 * )Readonly(只读,即只可看,运行时不能在此框中输入数据)Inputmask(可以输入值的类型,如99999.99代表可以输入为5位数字加两位小数)Height----高Width----宽复选框:V ALUE(复选框勾选时Value=1,复选框未勾选时Value=0)列表框:MULTISELECT(是否允许在下列数据中多选)LIST(列表中的第几个条目(条目即对应的行))组合框:Style(下拉列表框,即只能选,运行时不能在此框中输入数据)Interractivechange事件,即选择组合框里数据时触发的事件Rowsourcetype与Rowsource即数据源类型和数据源选项组:Buttoncount(选项按钮的数目)V ALUE(选择第一个选项时Value=1,选择第二个选项时Value=2)表格:Recordsourcetype与Recordsource (即数据源类型与数据源)Columncount 表格中有几列页:Pagecount页的数目时钟:Interval 时钟触发时间—单位为毫秒,Timer事件即时钟触发时需要引发的事件熟悉这些控件的常考属性,会通过查询设置器完成表单里面的命令按钮代码操作题练习,可以进入模考软件练习以下操作试题操作题单项训练:1、简单表单向导题:第8套基本操作第3小题、第30套简单应用第1小题2、表单基本操作题:第23、26、27、35、41、43、49基本操作题3、表单简单应用题:第4、7、9、11简单应用第1小题,第15套简单应用第2小题4、表单综合应用题:第3、8、12、14、15、28、47、52综合应用题第6章选择题常见考题(1)设置表单标题的属性是( D )。
习题6一、选择题1.当单选按钮的Value属性为()时,表示该单选按钮被选中。
A.True B.Enable C.Checked D.Click2.当一个复选框被选中时,它的Value属性的值是()。
A.3 B.2 C.1 D.03.下列控件中没有Caption属性的是()。
A.框架B.列表框C.复选框D.单选按钮4.将数据项“China”添加到列表框List1中成为第2项应使用()语句。
A.List1.AddItem "China",1 B.List1.AddItem "China", 2C.List1.AddItem 1, "China" D.List1.AddItem 2, "China"5.引用列表框List1最后一个数据项,应使用()语句。
A.List1.List(List1.ListCount)B.List1.List(ListCount)C.List1.List(List1.ListCount-1)D.List1.List(ListCount-1)6.设组合框Combo1中有3个项目,则以下能删除最后一项的语句是()。
A.Combo1.RemoveItem Text B.Combo1.RemoveItem 3C.Combo1.RemoveItem 2 D.Combo1.RemoveItem Combo1.Listcount 7.清除列表框中所有列表项使用的方法是()。
A.Clear B.Cls C.Release D.Move8.滚动条控件的滑块在滚动条所处位置的值由滚动条的()属性表示。
A.Change B.LargeChange C.Value D.SmallChange 9.下列不能打开菜单编辑器的操作是________。
A.按Ctrl+E快捷键B.单击工具栏中的“菜单编辑器”按钮C.按Shift + Alt + M快捷键D.执行“工具”菜单中的“菜单编辑器”命令10.关于多重窗体的叙述中,正确的是________。
第六章常用控件实验作业(二)一、实验目的结合实例,掌握单选按钮、复选框、框架、列表框和组合框控件的基本属性、事件和方法,了解框架的作用和基本使用,重点理解单选按钮和复选框的Value 属性的作用,掌握列表框和组合框的List、ListCount、ListIndex、Text属性的用法,掌握列表框和组合框的AddItem、RemoveItem和Clear方法。
二、实验要求1、将作业1的确定按钮Command1的Click事件代码书写在实验报告上。
Private Sub Command1_Click()End Sub2、写出作业2程序中“星期”单选按钮Option2的Click事件代码。
3、分别写出作业3中添加、删除、修改和修改确定四个命令按钮的Click事件代码。
4、写出作业4除法单选按钮Option4的Click事件代码。
5、写出作业5所有命令按钮的Click事件代码。
三、实验内容作业1:设计一个程序,用户界面由四个单选按钮、一个框架、一个标签和一个命令按钮组成,程序开始运行后,用户单击某个单选按钮,就可将它对应的内容(星期、日期、月份或年份)显示在标签框中。
作业2:对列表框进行项目添加、修改和删除操作要求:1、点击添加按钮时检查列表框,已有条目不允许添加。
2、只有选定列表框内容才可以进行删除。
3、点击修改按钮将列表框中选定内容送到文本框中,同时无法继续进行添加、删除、修改操作。
(Enabled属性设置为False)4、点击修改确定按钮,用文本框中的内容替换列表框中选定内容,同时可以继续进行添加、删除、修改操作。
Dim t As IntegerPrivate Sub Command1_Click()Dim i As Integer, d As Integeri = 0d = 0Do While i <= List1.ListCount - 1If List1.List(i) = Text1.Text Thend = 1End Ifi = i + 1LoopIf d = 0 ThenList1.AddItem Text1.TextEnd IfEnd SubPrivate Sub Command2_Click()Dim i As Integer, d As Integeri = 0Do While i <= List1.ListCount - 1If List1.Selected(i) = True ThenList1.RemoveItem iEnd Ifi = i + 1LoopEnd SubPrivate Sub Command3_Click()Text1.Text = List1.Textt = List1.ListIndexEnd SubPrivate Sub Command4_Click()List1.RemoveItem tList1.AddItem Text1.Text, tEnd SubPrivate Sub Form_Load()List1.AddItem "大学外语"List1.AddItem "计算机应用基础"List1.AddItem "方剂学"List1.AddItem "医古文"List1.AddItem "中药学"List1.AddItem "中药化学"List1.AddItem "中药药理学"End Sub作业3:计一个程序,在列表框和组合框之间进行信息的移动,没有选择项时给出相应的提示。
一.选择题1.在下列有关表单及其控件的叙述中,错误的是____A_________ 。
A.从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分B.表格控件包含列控件,而列控件本身又是一个容器类控件C.页控件的PageCount 属性值可以为0D.表格控件可以添加到表单中,但不可以添加到工具栏中2.对于许多控件来说,可以通过ControlSource 属性与数据绑定。
在下列VFP 对象中,无ControlSource 属性的是_____A________ 。
A.标签(Label )B.复选框(CheckBox )C.选项按钮组(OptionGroup )D.列表框(ListBox )3.若要将当前工作区中打开的表文件GZB.DBF 复制到GZB1.DBF 文件,则可以使用命令_____________ 。
A.COPY GZB.DBF GZB1.DBF B.COPY TO GZB1 REST C.COPY TO GZB1 STRU D.COPY TO GZB14.在下列有关VFP的类、对象和事件的叙述中,错误的是__B___。
A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法B.基类的最小事件集包含Click事件、Load事件和Destory事件(init事件、destroy事件,error事件)C.事件的触发可以由用户的行为产生,也可以由系统产生D.用户可以为对象添加新的属性和方法,但不能添加新的事件5.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。
若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___C____属性值也随之发生变化。
B.ControlSourceC.ValueD.Caption6. 在下列几组 VFP 基类中,均具有ControlSource 属性的是 D 。
A.ListBox ,Lable ,OptionButtonB.ComboBox ,EditBox ,Grid (表格具有recordsource和recordsourcetype属性,但不具有controlsource属性) C.ComboBox ,Grid ,TimerD.EditBox ,CheckBox ,OptionButton7.下列关于表单数据环境的叙述中,错误的是 B 。
一.选择题1.在下列有关表单及其控件的叙述中,错误的是____A_________ 。
A.从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分B.表格控件包含列控件,而列控件本身又是一个容器类控件C.页控件的PageCount 属性值可以为0D.表格控件可以添加到表单中,但不可以添加到工具栏中2.对于许多控件来说,可以通过ControlSource 属性与数据绑定。
在下列VFP 对象中,无ControlSource 属性的是_____A________ 。
A.标签(Label )B.复选框(CheckBox )C.选项按钮组(OptionGroup )D.列表框(ListBox )3.若要将当前工作区中打开的表文件GZB.DBF 复制到GZB1.DBF 文件,则可以使用命令_____________ 。
A.COPY GZB.DBF GZB1.DBF B.COPY TO GZB1 REST C.COPY TO GZB1 STRU D.COPY TO GZB14.在下列有关VFP的类、对象和事件的叙述中,错误的是__B___。
A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法B.基类的最小事件集包含Click事件、Load事件和Destory事件(init事件、destroy事件,error事件)C.事件的触发可以由用户的行为产生,也可以由系统产生D.用户可以为对象添加新的属性和方法,但不能添加新的事件5.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。
若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___C____属性值也随之发生变化。
B.ControlSourceC.ValueD.Caption6. 在下列几组 VFP 基类中,均具有ControlSource 属性的是 D 。
A.ListBox ,Lable ,OptionButtonB.ComboBox ,EditBox ,Grid (表格具有recordsource和recordsourcetype属性,但不具有controlsource属性) C.ComboBox ,Grid ,TimerD.EditBox ,CheckBox ,OptionButton7.下列关于表单数据环境的叙述中,错误的是 B 。
A.表单运行时自动打开其数据环境中的表B.数据环境是表单的容器 (是表单中数据来源)C.可以在数据环境中建立表之间的关系D.可以在数据环境中加入视图8.在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是 D 。
A.2,标签和文本框B.2,标签和复选框C.1,文本框D.1,复选框9.在下列各组控件中,均可与表中的数据绑定的控件是。
A.Combox、Grid和TextBox B.EditBox、Grid和LineC.ListBox、Shape和OptionButton D.CheckBox、Separator和Command10、在下列VFP基类中,无Caption属性的基类是________D______。
A、LableB、OptiongroupC、CheckD、Editbox11、在下列有关控件及其属性的叙述中,错误的是______A________。
A、一个标签控件最多可以显示128个字符(最多256个,如果是字符型常量,则不需要加定界符)B、计时器控件的Interval属性的单位为毫秒C当形状控件Curvature属性值为99时,其曲率最大(圆或椭圆)D组合框控件Style属性控制其为下列表框还是(下拉组合框style属性为0时和下拉列表框style属性为2)12、在下列有关控件的叙述中,错误的是______________。
A、对于标签控件(Label)的Caption属性值来说,其长度(即字符个数))没有限制B、复选框(CheckBox)的Value属性值可以设置为0,或1(也可写作.T.或.f.),或2(只在设计时使用,键盘无法设置为2)C、有些控件无Caption属性,例如文本框(TextBox)D、有些控件可通过相应的生成器设置其部分属性,例如命令按钮组(CommandGroup)13、在下列几组控件中,均有SetAll()方法的是_______D_______。
A、表单(Form)、命令按钮(CommandButton)、命令按钮组(CommandGroup)B、表单集(FormSet)、列(Column)、组合框(ComBox)C、表格(Grid)、列(Column)、文本框(TextBox)D、表单(Form)、页框(PageFrame)、命令按钮组(CommandGroup)14、下列几组控件中,都有ControlCount属性的是______B________。
(容器对象中控件个数)A、表单(Form)、文本框(TextBox)、列表框(ListBox)B、表单集(FormSet)、表单(Form)、页框(PageFrame)C、表单(Form)、页面(Page)、列(Column)D、列(Column)、选项按钮组(OptionGroup)、命令按钮组(CommandGroup)15、对表单中的一个文本框控件来说,下列事件中最后发生的事件是__b_______。
A、Valid b、InitB、Destroy D、Lostfocus init-valid-lostfocus-destroy16、将表单中的所有文本框的Enabled属性设置为假,可在表单的Init事件处理代码中用SetAll方法进行设置。
下列表述中,命令正确的是____C__________。
A、THISFORM.SetAll(“Enabled”, .F., “Text”)B、THISFORM.SetAll(Enabled, .F., Text)C、THISFORM.SetAll(“Enabled”, .F., “TextBox”)D、THISFORM.SetAll(“Enabled”, .F.)。
17、在下列几种控件中,无Value属性的是______________。
A、命令按钮(Command)B、复选框(CheckBox)C、选项按钮(OptionButton)D、编辑框(EditBox)18.在下列关于表格控件的叙述中,错误的是B。
A.表格是容器型控件,它包含列对象 .B.表格的数据源若是表,则该表必须在表单的数据环境中C.表格的数据源可以是表、别名、查询文件或SELECT-SQL命令D.表格滚动条可以设置为不同类型19、在下列几组控件中,均可直接添加到表单中的是C。
mandGroup、OptionButton、TextBoxB.Page、PageFrame、GridmandButton、PageFrame、EditBoxD.TextBox、Column、Header20、设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:cmdl和cmd2)。
若单击命令按钮Cmdl,可以将命令按钮Cmd2设置为废止状态,则在命令按Cmdl的Click事件中,应包含 A 命令(或功能与之等价的命令)。
A.This.Parent.Cmd2.Enabled=.F.B.ThisForm.Cmd2.Enabled=.F.mandGroup1.cmd2.Enabled=.F.D.THIS.Cmd2.Enabled=.F.21、在下列几组控件中,均具有ControlSource属性和Value属性的是 D 。
A.Pageframe、EditBox、OptionGroup C.TextBox、Label、CommandButtonB.ListBox、Grid、ComboBox D.CheckBox、Spinner、ComboBox二.填空题1.图1 所示的表单用于浏览教师(JS )信息。
为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的Init 事件代码中,可使用如下形式的语句:This._Setall__("DynamicBackcolor","IIF(xb='女',RGB(125,125,125),;RGB(125,125,125))","Column")2.表单中下拉列表框的RowSourceType 属性为“ 6- 字段”,数据源为系名代码表(表的文件名为xmdm.dbf, 含系代码(xdm )和系名(xim )两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource 属性值为:xmdm.xdm ,____xim____。
图13.设某表单上有一个页框控件,该页框控件的PageCount 属性值在表单的运行过程中可变(即页数会变化)。
如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh 事件代码中使用语句:This.ActivePage= PageCount 。
4.在某类库中,基于CommandButton 基类新建了一个子类cmd ,基于cmd 类又派生了cmdClose 子类。
若利用cmdClose 类为一个表单添加控件cmdCloseA ,则cmdCloseA 的BaseClsss 属性值为__CommandButton____。
5.某数据库中包含课程(KC )表和成绩(CJ )表,课程表中含有课程代号(kcdh )、课程名(kcm )和学分(xf )等字段,成绩表中含有学号(xh )、课程代号(kcdh )和成绩(cj )等字段。
已创建一个按课程代号查询学生成绩的表单如图 2 所示。
图2表单中下拉列表框(Combo1)的数据源设置如下:RowSource Type 属性为:6-字段RowSource 属性为:kc.kcdh。
在下拉列表框中选择某一课程代号后,表格控件(Grid1 )立即显示该课程所有学生的成绩,且在文本框(Text1 )中显示该课程的课程名,则应在下拉列表框的___InteractiveChange____事件中编写如下代码:SELECT KCThisForm.Text1.Value=kc.kcmThisForm.Grid1.RecordSource=;"SELECT cj.xh,cj.cj FROM cj WHERE cj.kcdh=ALLT(THIS.Vale)INTO CURStmp"(应为allt(cj.kcdh)=allt(this.value))ThisForm.Refresh根据以上代码可判定,表格控件(Grid1 )的RecordSourceType 属性为___4 或SQL___。