当前位置:文档之家› 实验八 表单设计

实验八 表单设计

实验十表单设计一、实验目的1.熟悉表单设计器的使用。

2.掌握表单设计的基本过程和方法。

3.掌握表单的常用属性,方法和事件。

4.掌握标签、编辑框、命令按钮、组合框、列表框、表格、等常用控件的使用。

二、实验内容和步骤1.建立一个如下图所示表单:图1 学生登录窗口要求实现:(1)系统初次载入时,不显示文字“学生成绩登录系统”,单击窗体右键时,显示文字“学生成绩登录系统”。

(2)单击“登录”按钮时,用户名所对应的文本框的背景色为红色。

(3)单击“退出”按钮时,密码所对应的文本框消失。

(4)双击窗体时,两文本框恢复正常。

设计步骤:①选择“文件/表单/新建文件”,打开表单设计器。

②在表单上添加三个标签(Label1、Label2、Label3)、两个文本框(Text1、Text2)和一个命令按纽(Command1)。

③设置表单、控件属性如下表所示。

表1 属性设置④编写相应事件过程代码。

●表单Form1的Init事件过程代码:bel1.visible=.F.●表单Form1的Rightclick事件过程代码:bel1.visible=.T.●命令按钮Command1的Click事件过程代码:Thisform.text1.backcolor=RGB(255,0,0)●命令按钮Command2的Click事件过程代码:Thisform.Text2.visible=.F.●表单Form1的dblclick事件过程代码:Thisform.text1.backcolor=rgb(255,255,255)Thisform.text2.visible=.T.⑤保存表单,命名为“表单01”。

⑥运行该表单,验证是否达到要求。

2.设计一个登录表单,当用户输入用户名和口令并按确认键后,检验其输入是否正确,若正确(假定用户名为“USER”,口令为“123”),就显示“欢迎使用”字样并关闭表单;若不正确,显示“用户名或口令不对,请重输…”字样(要求口令输入时显示星号*),连续三次都输入不正确,显示“输入次数超过三次,你无权使用本系统”。

图2 用户登录界面设计步骤:①新建一表单,在表单上添加两个标签、两个文本框、一个命令按纽。

②设置两个标签和一个命令按纽的Caption属性如上图所示。

设置文本框Text1、Text2的InputMask属性值分别为xxxx和xxx;设置Text2的PasswordChar属性值为*。

③编写相应对象的相应事件过程代码。

●表单Form1的Load事件代码:public numnum=0●命令按钮Command1的Click事件代码:if upper(thisform.text1.value)="USER".and.;thisform.text2.value="123"wait "欢迎登录" window at 25,80thisform.releaseelsenum=num+1if num<3wait "用户名或口令不对,请重输…" windowthisform.text1.value=""thisform.text2.value=""thisform.text1.setfocuselsemessagebox("输入次数超过三次,你无权使用本系统",48,"提示") thisform.releaseendifendif3.设计一个选项按钮组表单,能改变文本框内文字的字体格式,如下图所示。

图3 字体设置界面设计步骤:①新建一表单,在表单上添加一个文本框Text1和一个选项按钮OptionGroup1。

②设置文本框Text1的Value属性为“设置字体格式”,Fontsize属性为20,选项按纽OptionGroup1的ButtonCount属性为4、Caption属性如上图所示。

③编写选项按钮OptionGroup1的Click事件过程代码:4.设计一个运行结果如下图所示的表单,可用命令按钮组中命令按钮来调整标签控件的位置及大小。

图5 命令按钮组的使用界面设计步骤:①新建一表单,在表单上添加一个标签label1和一个命令按钮组CommandGroup1。

②设置标签label1和命令按钮组CommandGroup1的属性如上图所示。

③编写命令按钮组的Click事件过程代码:④保存表单,命名为“表单04”,运行表单。

5.编制一个浏览记录的表单(浏览记录.scx),要求具有前后翻页、插入记录、删除当前记录的功能,并能对当前记录进行编辑修改(其中“性别”字段的内容可用单选按钮组控件来控制)。

运行结果如下:图7 浏览记录窗口设计步骤:①新建一表单,将学生情况表(xsqk.dbf)添加到数据环境中。

②用鼠标将有关字段逐个拖到表单中的合适位置形成相应的标签、文本框、复选框、OLE帮定对象及编辑控件。

③添加一个单选按钮组控件“optiongroup1”取代原来的“txt性别”文本框,并设置其buttoncount属性为2,controlsource 属性为xsqk.性别,将其中的option1的caption属性设置为“男”,option2的caption 属性设置为“女”。

④设置OLE照片控件的stretch属性为“1--等比填充”。

⑤在表单中添加6个命令按钮控件commond1~command6,并将它们的caption属性分别设置为:“首记录”、“上一个记录”、“下一个记录”、“尾记录”、“添加记录”、“删除记录”。

⑥编写相应事件过程代码。

表单对象的init事件过程代码:set deleted onselect xsqkgo topmand1.enabled=.f.mand2.enabled=.f.●“首记录”Command1按钮的click事件过程代码:go topmand3.enabled=.t.mand4.enabled=.t.mand2.enabled=.f.this.enabled=.f.thisform.refresh●“上一个记录”Command2按钮的click事件过程代码:mand3.enabled=.t.mand4.enabled=.t.skip -1if bof()go topmand1.enabled=.f.this.enabled=.f.endifthisform.refresh●“下一个记录”Command3按钮的click事件过程代码:mand1.enabled=.t.mand2.enabled=.t.skipif eof()go bottommand4.enabled=.f.this.enabled=.f.endifthisform.refresh●“尾记录”Command4按钮的click事件过程代码:go bottommand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.this.enabled=.f.thisform.refresh●“添加记录”Command5按钮的click事件过程代码:append blankthisform.txt学号.setfocusthisform.refresh●“删除当前记录”Command6按钮的click事件过程代码:ts=messagebox("确实要删除此记录吗?",4+48)if ts=6deleteskip -1if bof()go topendifthisform.refreshendif⑦保存表单,命名为“表单05”,运行表单。

6.利用学生管理数据库中的xsqk表和cj表,设计一个能进行查询统计的表单,其界面如下图所示。

当输入一个学生姓名并单击“查询统计”按钮时,会在右侧表格内显示该同学所选的各门课程的成绩,并在左边相应的文本框内显示其中的最高分、最低分和平均分,单击“退出”按钮将关闭表单。

图8 成绩查询窗口表单设计步骤如下:①新建一表单,打开数据环境设计器窗口,添加表xsqk和cj。

②在表单上添加四个个标签、四个文本框、两个命令按钮和一个表格控件,设置标签、命令按钮和表单的属性如上图所示。

③设置表格的ColumnCount属性值为2、RecordsourceType属性值为“4—SQL说明”。

④设置表格两列标头的Caption属性分别为“课程号”和“成绩”,并适当调整两列的宽度。

⑤编写相应事件过程代码。

●表单对象的init事件过程代码:this.grid1.visible=.f.●“查询统计”命令按钮Command1的Click事件过程代码:thisform.Grid1.Recordsource="select 课程号,成绩 ;from cj,xsqk where cj.学号=xsqk.学号 and ;姓名=alltrim(thisform.text1.value) into cursor lsb"thisform.grid1.visible=.t.select max(成绩) as maxcj,min(成绩) as mincj, ;avg(成绩) as avgcj from lsb into cursor lsb1 thisform.text2.value=maxcjthisform.text3.value=mincjthisform.text4.value=avgcj●“退出”命令按钮Command2的Click事件过程代码:thisform.release⑥保存表单,命名为“表单06”,运行表单。

相关主题