整理第6章表单与控件的创建与使用答案.docx

上传人:b****5 文档编号:7099454 上传时间:2023-01-17 格式:DOCX 页数:23 大小:610.98KB
下载 相关 举报
整理第6章表单与控件的创建与使用答案.docx_第1页
第1页 / 共23页
整理第6章表单与控件的创建与使用答案.docx_第2页
第2页 / 共23页
整理第6章表单与控件的创建与使用答案.docx_第3页
第3页 / 共23页
整理第6章表单与控件的创建与使用答案.docx_第4页
第4页 / 共23页
整理第6章表单与控件的创建与使用答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

整理第6章表单与控件的创建与使用答案.docx

《整理第6章表单与控件的创建与使用答案.docx》由会员分享,可在线阅读,更多相关《整理第6章表单与控件的创建与使用答案.docx(23页珍藏版)》请在冰豆网上搜索。

整理第6章表单与控件的创建与使用答案.docx

整理第6章表单与控件的创建与使用答案

一.选择题

1.在下列有关表单及其控件的叙述中,错误的是____A_________。

A.从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分

B.表格控件包含列控件,而列控件本身又是一个容器类控件

C.页控件的PageCount属性值可以为0

D.表格控件可以添加到表单中,但不可以添加到工具栏中

2.对于许多控件来说,可以通过ControlSource属性与数据绑定。

在下列VFP对象中,无ControlSource属性的是_____A________。

A.标签(Label)B.复选框(CheckBox)C.选项按钮组(OptionGroup)D.列表框(ListBox)

3.若要将当前工作区中打开的表文件GZB.DBF复制到GZB1.DBF文件,则可以使用命令_____________。

A.COPYGZB.DBFGZB1.DBFB.COPYTOGZB1RESTC.COPYTOGZB1STRUD.COPYTOGZB1

4.在下列有关VFP的类、对象和事件的叙述中,错误的是__B___。

A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法

B.基类的最小事件集包含Click事件、Load事件和Destory事件(init事件、destroy事件,error事件)

C.事件的触发可以由用户的行为产生,也可以由系统产生

D.用户可以为对象添加新的属性和方法,但不能添加新的事件

 5.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。

若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___C____属性值也随之发生变化。

A.Name        B.ControlSource      C.Value      D.Caption

6.在下列几组VFP基类中,均具有ControlSource属性的是D。

A.ListBox,Lable,OptionButton

B.ComboBox,EditBox,Grid(表格具有recordsource和recordsourcetype属性,但不具有controlsource属性)

C.ComboBox,Grid,Timer

D.EditBox,CheckBox,OptionButton

7.下列关于表单数据环境的叙述中,错误的是B。

A.表单运行时自动打开其数据环境中的表

B.数据环境是表单的容器(是表单中数据来源)

C.可以在数据环境中建立表之间的关系

D.可以在数据环境中加入视图

8.在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是D。

A.2,标签和文本框B.2,标签和复选框C.1,文本框D.1,复选框

9.在下列各组控件中,均可与表中的数据绑定的控件是。

A.Combox、Grid和TextBoxB.EditBox、Grid和Line

C.ListBox、Shape和OptionButtonD.CheckBox、Separator和Command

10、在下列VFP基类中,无Caption属性的基类是________D______。

A、LableB、OptiongroupC、CheckD、Editbox

11、在下列有关控件及其属性的叙述中,错误的是______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、Validb、InitB、DestroyD、Lostfocusinit-valid-lostfocus-destroy

16、将表单中的所有文本框的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   。

 A.CommandGroup、OptionButton、TextBox

 B.Page、PageFrame、Grid

 C.CommandButton、PageFrame、EditBox

 D.TextBox、Column、Header

20、设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:

cmdl和cmd2)。

若单击命令按钮Cmdl,可以将命令按钮Cmd2设置为废止状态,则在命令按Cmdl的Click事件中,应包含A 命令(或功能与之等价的命令)。

   A.This.Parent.Cmd2.Enabled=.F.

   B.ThisForm.Cmd2.Enabled=.F.

   C.THis.CommandGroup1.cmd2.Enabled=.F.

   D.THIS.Cmd2.Enabled=.F.

21、在下列几组控件中,均具有ControlSource属性和Value属性的是 D   。

   A.Pageframe、EditBox、OptionGroup  C.TextBox、Label、CommandButton

   B.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____。

图1

3.设某表单上有一个页框控件,该页框控件的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)的数据源设置如下:

RowSourceType属性为:

6-字段

RowSource属性为:

kc.kcdh。

在下拉列表框中选择某一课程代号后,表格控件(Grid1)立即显示该课程所有学生的成绩,且在文本框(Text1)中显示该课程的课程名,则应在下拉列表框的___InteractiveChange____事件中编写如下代码:

SELECTKC

ThisForm.Text1.Value=kc.kcm

ThisForm.Grid1.RecordSource=;

"SELECTcj.xh,cj.cjFROMcjWHEREcj.kcdh=ALLT(THIS.Vale)INTOCURStmp"(应为allt(cj.kcdh)=allt(this.value))

ThisForm.Refresh

根据以上代码可判定,表格控件(Grid1)的RecordSourceType属性为___4或SQL___。

6.设某命令按钮的标题为“确定(Y)”(该按钮访问键位“ALT+Y”),则其Caption属性值应设置为___确定(\

7.在事件代码中相对引用当前表单集的关键字是___Thisformset_____。

8.文本框控件的__PasswordChar_____属性设置为“*”时,用户键入的字符在文本框内显示为“*”,但Value属性中仍保存键入的字符串。

9.已知有三张表:

学生表(XS)、课程表(KC)和成绩表(CJ),其表结构如表3所示。

(调试根本通不过)

有一个表单如图3所示,其左边是一个选项按钮组(Optiongroup1),右边是列表框(List1)。

该表单的功能是:

在选项按钮组中选择一个年级(学号的前两位表示年级),列表框将显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩。

图3

下列是选项按钮组的相关事件的事件代码,试完善下面的程序。

DOCASE

CASEThis.Value=1

nJ="99"

CASEThis.Value=2

nJ="00"

CASEThis.Value=3

nJ="01"

CASEThis.Value=4

nJ="02"

_______Endcase_______

SQL1='SELECTxs.xh,xm,kcm,cj'

SQL2='FROMxs,cj,kc'

SQL3='WHERExs.xh=cj.xhANDcj.kcdh=kc.kcdhANDcj<60'

SQL4='__andsubs(xs.xh,1,2)=nj__'

SQL5='ORDERBY4'

SQL6='INTOCURSORtemp'

SQLSELECT=SQL1+SQL2+SQL3+SQL4+SQL5+SQL6

ThisForm.List1.RowSourceType=3

ThisForm.List1.RowSource=_SQLSELECT__

ThisForm.List1.Requery

10.类(class)是面向对象程序设计的核心。

类具有许多特点,如多态性、抽象性、封装性、继承性等,其中__多态性___是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同。

11.设Labell是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM.__Label1.Caption___=TTOC(DATETIME())来实现。

12.学生注册表单(forml)如图1所示,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:

(此题可调通)

  1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;若没有,则进行注册,即将该学生信息存入学生注册表;

  2)进行注册时(即按“确认”按钮时),学生和姓名不能为空。

 

图1 学生注册表单 

  表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount。

此表单的ControlCount属性值为  6   。

  根据表单的功能要求,完善下列命令按钮组的Click事件代码:

  ch1=ALLT(THISFORM.Text1.Value)

  ch2=ALLT(THISFORM.Text2.Value)

DOCASE

CASETHIS.Value=1

      IFLEN(ch1)=0ORLEN(ch2)=0

          =MESSAGEBOX(“学号、姓名必须填写!

”)

      ELSE

             Locate       forzc.xh=ch1

          IF!

EOF()

            =MESSAGEBOX(“此学生已注册,请重新输入!

”)

            ESLE

          INSERT INTO  zc(xh,xm) Values(ch1,ch2)

         ENDIF

      ENDIF

  CASETHIS.Value=2

         THISFORM.Text1.Value=“”

         THISFORM.Text2.Value=“”

          Thisform.text1.setfocus_ &&使Text1文本框得到输入焦点

  CASETHIS.Value=3

          THISFORM.RELEASE

ENDCASE

 

13.在VFP中,利用可是化开发工具(表单设计器)创建表单和对象。

通过对对象属性的修改、方法程序的调用来处理对象。

相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或_事件__处理代码中使用

13.对于图2所示的表单,当表单运行时,利用微调框(Spinnerl)Curvature来调节形状控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化。

根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值和SpinnerHighvalue属性值应该分别为0和   99      。

当形状控件(Shape1)为椭圆时,微调框(Spinner1)的Value值应为  99   .(在spinner的interactivechange事件中写:

thisform.shape1.curvature=this.value)

图2形状控件的曲率实验

14.类(class)是面向对象程序设计的核心。

类具有许多特点,如抽象性、封装性、继承性等,其中___封装性____是指包含和隐藏对象信息(如内部数据结构和代码)的能力,是操作对象的内部复杂性与应用程序隔离开来。

 15.一个应用程序的模型可以设计得很合理很整洁,代码很精致,解决问题的方法和算法很巧妙但这些对用户来说是很透明的,用户看不到、也无须知道,用户看到的是应用系统提供的用户界面。

从利用VFP开发应用程序来说,创建的菜单  表单       文件是用作应用程序的主要界面。

16.表格(gird)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的的子表。

在默认情况下,表格控件包含列控件,列空件又包含列标头控件和 文本框   控件。

17.在VFP中,每个对象都具有属性,以及与之相关的事件和方法.其中,属性是定义对象的特征或某一方面的行为.

18.在VFP中,组合框控件具有列表框控件和和文本框控件的组合功能.根据是否可以输入数据值,组合框可设置为下拉组合框或下拉列表框.(下拉组合框为0,可以输入字符。

下拉组合框为2,只能直接选择)

19.某表单如图1所示,用于用户登录(需要输入用户名和口令信息).该表单无控制图标和控制按钮,则表单的Controlbox属性值必定为.F.。

图1用户登录表单

设所有的用户名和口令信息均已存储在自由表KLB表(含有两个字符型字段"用户名"和"口令")中.完善命令按钮组(含两个命令按钮)Click事件代码,以实现:

当用户输入用户名和口令并单击"确定"按钮时,若用户名输入错误,则提示"用户名错误";若用户名输入正确而口令输入错误,则提示"口令错误";单击"取消"按钮则释放表单.

IFthis.value=1 &&单击"确定"命令按钮(此题中THISFROM应写成THISFORM)

IFNOTused(“klb”)

 SELECT 0

 USEklb

 ELSE

 SELECTklb

 ENDIF

 LOCATEFORALLTRIM(用户名)==ALLTRIM(THISFROM.Text1.Value)

 IFFOUND()

IFALLTRIM(口令)==ALLTRIM(THISFROM.Text2.Value)

 WAIT"欢迎使用!

 THISFROM.Release

ELSE

 WAIT"口令错误!

ENDIF

else

 WAIT"用户名错误!

 ENDIF

ELSE

 THISFROM.Release

ENDIF

20.对于图2所示的表单,当表单运行时,利用微调框(Spinner1)来调节形状控件(Shape1)的Curvature属性值,使形状控件的角的曲率发生变化.该表单上的标签控件显示为"曲率(R)",其Caption属性值应为曲率(\

THISForM.Shape1.Curvature=THIS.Value

图2形状控件的曲率实验

21.页框对象是包含页面的容器对象.在默认情况下,一个页框对象包含两个页面对象,如果要修改页框对象所包含的页面对象数,则应该修改页框的pagecount属性值.

 

22.某表单运行时界面如图2所示,表单上有一个组合框控件combo1和表格控件grid1。

其中,组合框控件combo1的数据源类型是“文件”,数据源是”*.dbf“,运行时该组合框中显示当前路径下所有的表文件名。

图2

完善下列组合框控件combo1的InterActiveChange事件代码,其功能是:

当选中组合框中的某个表文件时,在表格中显示该表的所有记录。

(表头会出现一些问题,比如不能显示字段名,但将表格重调后,可以显示)

PUBLICx

x=ALLTRIM(THIS.Value)

CLOSETABLESALL

Use&x

WITHTHISFORM.Grid1

.ColumnCount=fcount()

.RecordSourceType=2

.RecordSource=x

ENDWITH

23.已知教师表(JS.DBF)含有工号(gh,C,6)、姓名(xm,C,8)、性别(xb,C,2)、职称(zc,C,20)、系代号(xdh,C,2)等字段,系名表(XIM.DBF)含有系代号(xdh,C,2)、系名(ximing,C,20)等字段。

某表单运行时如图3所示,该表单的功能是查看各个系教师的名单,在列表框(List1)中选择一个系时,表格(Grid1)中显示出该系教师的工号、姓名、性别、职称,且表格中数据只读。

图3

根据图3所示的表单,填写表单、列表框和表格控件的下列有关属性值:

表单:

Caption=教师名单

列表框:

ColumnCount=2

表格:

RecordSourceType=1-别名

RecordSource=js

ReadOnly=.t.

24.某表单上有一个命令按钮控件,若单击该命令可以将表单的背景修改为绿色,则命令按钮的Click事件代码中包含命令:

THIS.parent.BackColor=RGB(0,255,0)。

25.在属性窗口中,有些属性的默认值以斜体显示,说明这些属性在设计时是只读的。

26、某表单中有一个列表控件list1和一个命令按钮控件cmd1,且该列表框已与成绩表(CJ.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1