程序设计 课件第9章(2).ppt
表单的事件与方法Load:表单装入内存时触发 Init:表单被初始化时发生Activate:激活表单时触发 Destroy:关闭表单时触发 Unload:释放表单时触发Resize:用户或程序改变表单大小时触发Hide:隐藏表单Show:显示表单Release:释放表单Refresh:刷新表单方法事件执行次序执行次序一一.标签控件标签控件1)标签控件)标签控件是按一定格式显示在表单上的文本信息是按一定格式显示在表单上的文本信息,用来用来显示表单中各种说明或提示信息,按指定的格式显示、显示表单中各种说明或提示信息,按指定的格式显示、应应用程序的名称、字段的标题、选项的标题等。用程序的名称、字段的标题、选项的标题等。2)主要属性主要属性:标签的标题、大小、颜色,以及显示的内容的字标签的标题、大小、颜色,以及显示的内容的字体、大小等。体、大小等。Caption:设置标签的标题文本设置标签的标题文本Name:标签控件的名称标签控件的名称Alignment:指定标题文本的对齐方式,在设计和运行时可用。指定标题文本的对齐方式,在设计和运行时可用。Enabled:表示控件是否可用,缺省一般为真,不可用状态为灰表示控件是否可用,缺省一般为真,不可用状态为灰状显示。状显示。Bodystyle:边框形状边框形状8.4常用的表单控件常用的表单控件【例】使用标签处理单行和多行的信息输出,运行时通过例】使用标签处理单行和多行的信息输出,运行时通过代码来改变输出的内容,如图代码来改变输出的内容,如图4-3所示。所示。步骤:(1)建立应用程序界面对象属性属性值说明Command1Caption改变(C)按钮的标题Label1Caption设计时设置的标签内容标签的内容Alignment2中央标签的内容居中显示FontSize16字体的大小Label2Caption设计时设置的标签内容标签的内容BorderStyle1固定单线有边框的标签BackColor白色标签的背景改为白色FontSize16字体的大小WordWrap.T.真内容自动换行(2)设置对象属性编写命令按钮编写命令按钮Command1的的Click事件代码:事件代码:THISFORM.Label1.Caption=运行时修改的标签内容运行时修改的标签内容THISFORM.Label2.Caption=对于一个较长的或在运行时可对于一个较长的或在运行时可能变化的标题,标签提供了能变化的标题,标签提供了+;两种属性两种属性:AutoSize和和WordWrap,来改变控件尺寸以适来改变控件尺寸以适应较长或较短的标题。应较长或较短的标题。THISFORM.Label2.AutoSize=.T.(3)编写程序代码【例】交换两个变量中的数据,如图所示。例】交换两个变量中的数据,如图所示。开始CAABBC结束步骤:(1)界面设计略。对象属性属性值说明Label1CaptionA=标签的内容Label3CaptionB=标签的内容Label2CaptionABCDE标签的内容BackColor(白色)标签的背景色Label4Caption12345标签的内容BackColor(白色)标签的背景色Command1Caption交换按钮的标题(3)编写代码编编写命令按写命令按钮钮Command1的的Click事件代事件代码码:t=THISFORM.Label2.CaptionTHISFORM.Label2.Caption=THISFORM.Label4.CaptionTHISFORM.Label4.Caption=t(2)设置对象属性【例】设计艺术的标签。可以设计两种形式的艺术标签:一例】设计艺术的标签。可以设计两种形式的艺术标签:一种是投影式标签,一种是立体式标签。种是投影式标签,一种是立体式标签。设计步骤如下:设计步骤如下:选择选择“新建新建”表单,进入表单设计器,增加一个命令按表单,进入表单设计器,增加一个命令按钮钮Command1和一个和一个“标签标签”控件控件Label1。修改其属性,见表。修改其属性,见表。对象属性属性值说明Command1Caption关闭按钮的标题Label1Caption艺术标签标签的内容AutoSize.T.真自动适应大小FontSize40字体的大小BackStyle0透明背景类型FontName隶书设置字体ForeColor0,0,160字体颜色为蓝色【例8.5】制作一个具有阴影效果标题和两个竖排标题的表单,效果如图8.19所示。启动“窗体设计器”窗口,创建一个新表单。在表单的合适位置添加4个标签控件Label1、Label2、Label3、Label4。定义表单及各标签控件的有关属性,具体内容见表8.10。主要用来控制程序的执行和数据表中数据的操作等。主要用来控制程序的执行和数据表中数据的操作等。主要属性:主要属性:caption,name,left,top,height,width,Default,cancel,enabled,ToolTipText(按钮的功能提按钮的功能提示文本)示文本)主要事件:主要事件:click单击事件单击事件二、命令按钮控件(二、命令按钮控件(command)【例8.6】修改例8.5设计的表单,为其添加一个“关闭”按钮,实现关闭当前表单的功能;当鼠标指向该按钮时,可显示它的功能提示信息,运行结果如图8.20所示 打开star.scx表单文件,出现该表单的“窗体设计器”窗口。在表单中添加一个Commandl命令按钮控件。设置表单及命令按钮控件的有关属性,具体内容如表9.11所示。编写Commandl的Click事件代码:Thisform.Release 保存并运行表单。表单或按钮名称属性名属性值FormlShowTips.T.CommandlCaption关闭FontSize12PictureC:programfilesrnicrosoftvisualfoxpro8wizardswizbmpswzclose.bmpToolTipText单击此按钮可关闭当前表单Height50Width100主要用于数据表中某些字段的输入、输出,以及从窗口中给主要用于数据表中某些字段的输入、输出,以及从窗口中给内存变量赋值等操作。内存变量赋值等操作。主要属性主要属性:Name属性:设置文本框控件的名称。属性:设置文本框控件的名称。Value:文本框中编辑的数据的值文本框中编辑的数据的值Fontname、fontsize、fontbold:字体、大小、粗体等字体、大小、粗体等Passwordchar:文本框中显示指定的字符,而不是真正输文本框中显示指定的字符,而不是真正输入的内容入的内容注:文本框的数据可以是数据表中的字段,若数据来源为表,注:文本框的数据可以是数据表中的字段,若数据来源为表,则可以直接从数据环境中将相应字段拖到表单上。可以快速则可以直接从数据环境中将相应字段拖到表单上。可以快速建立控件。建立控件。三、三、文本框文本框ControlSource:主要设置文本框中所编辑的数据与数据主要设置文本框中所编辑的数据与数据表中的哪个字段相对应。表中的哪个字段相对应。Inputmask属性:指定文本框中输入或显示的数据的格式属性:指定文本框中输入或显示的数据的格式如:如:inputmask=9999表示文本框中内容为数字,参见表表示文本框中内容为数字,参见表9-13注意设置数据环境注意设置数据环境.设置完所有控件的属性后设置完所有控件的属性后,在表单在表单上单击鼠标右键上单击鼠标右键,弹出弹出“表单表单”快捷菜单快捷菜单,选择选择“数据环境数据环境”,进进入入“数据环境设计器数据环境设计器”窗口窗口,选择要绑定的数据表文件选择要绑定的数据表文件,添加添加到当前表单中到当前表单中.(即确定控件与数据表之间的联系)(即确定控件与数据表之间的联系)表8.14 模式符号及其功能设置描 述9可以输入数字和符号,比如可以输入一个负号(-)#可以输入数字、空格和字符*在值的左边显示星号.指定十进制小数点位置,十进制整数部分用逗号分隔 X 允许输入任何字符 【例】利用文本框输入圆的半径,计算出圆的面积。例】利用文本框输入圆的半径,计算出圆的面积。设计步骤如下:设计步骤如下:建立应用程序用户界面。建立应用程序用户界面。设置对象属性。设置对象属性。对象对象属性属性属性值属性值说明说明Label1Caption请输请输入入圆圆的半径:的半径:标签标签的内容的内容AutoSize.T.真真自自动动适适应应大小大小FontSize16字体的大小字体的大小FontName黑体黑体设设置字体置字体Label2Caption圆圆的面的面积为积为:标签标签的内容的内容AutoSize.T.真真自自动动适适应应大小大小FontSize16字体的大小字体的大小FontName黑体黑体设设置字体置字体Text1Alignment0左左文本文本对齐对齐方式方式InputMask999.99只能只能输输入有两位小数且小于入有两位小数且小于1000的数的数值值Value0文本初文本初值为值为0Text2DisabledBackColor256,256,256只只读读状状态态的文本框背景的文本框背景为为白色白色ReadOnly.T.真真文本内容只文本内容只读读TabSTop.F.假假光光标标不停留不停留Value0文本初文本初值为值为0Command1Caption计计算(算(C)按按钮钮的的标题标题Defualt.T.真真设为设为表表单单的默的默认认按按钮钮 编写程序代码。编写程序代码。编写编写Command1的的Click事件代码:事件代码:a=THISFORM.Text1.ValueTHISFORM.Text2.Value=ROUND(a2*3.14,2)【例8.7】设计一个用文本框输入密码的演示程序。表单的设计界面和运行结果分别如图8.21和图8.22所示。启动“窗体设计器”窗口,创建一个新表单。在表单的合适位置添加Labell标签、Textl文本框和Command1、Command2、Command3命令按钮。设置表单及各控件的有关属性,具体内容如表8.16所示。表单或控件名称属性名属性值FormlCaption文本框的密码演示Label1Caption输入密码:AutoSize.T.FontName宋体FontSize12Text1PassWordChar*FontSize12CommandlCaption确定Command2Caption重试Command3Caption退出编写Commandl命令按钮的Click事件代码:IFThisForm.Text1.Value=123=Messagebox(密码正确!,48,提示信息)ELSEThisForm.Text1.Setfocus=Messagebox(对不起,密码错误!,48,提示信息)ENDIF 编写Command2命令按钮的Click事件代码:ThisForm.Text1.Value=ThisForm.Text1.SetFocusThisForm.Refresh编写Command3命令按钮的Click事件代码:ThisForm.Release【例8.8】设计一个按学号查询学生信息的表单。输入一个学号,如果stud表中存在该学号,则以标签的形式输出相应的学生信息,否则给出该学号不存在的提示。表单的设计界面和运行结果分别如图8.23和图8.24所示。启动“窗体设计器”窗口,创建一个新表单。打开表单的“数据环境设计器”窗口,添加stud表。在表单的合适位置添加Label1、Label2标签控件和Textl文本框 定义表单及各控件的有关属性,具体内容见表8.17。编写Textl文本框的Click事件代码:This.Value=Thisform.Label2.Caption=编写Textl文本框的Valid事件代码:LOCATEFOR学号=ALLTRIM(This.value)IFFOUND()IF是否团员Thisform.Label2.caption=该同学名为+姓名+,是+ALLTRIM(班级)+;的一名+性别+生,共青团员ELSEThisform.Label2.caption=该同学名为+姓名+,是+ALLTRIM(班级)+;的一名+性别+生ENDIFELSE=MESSAGEBOX(您输入的学号不存在!)ENDIF求两数之和猜数(任意产生010之间的一个数)编辑编辑框控件主要用来框控件主要用来编辑较长编辑较长的字符型字段和的字符型字段和备备注型字段,注型字段,也可用来也可用来编辑编辑多段落的多段落的纯纯文本文件。在文本文件。在编辑过编辑过程中能程中能够够自自动动换换行,可用行,可用键盘键盘上的光上的光标标移移动键动键、翻、翻页键页键以及以及编辑编辑框中的框中的滚滚动动条来定位光条来定位光标标或或滚动编辑滚动编辑框中的文本。框中的文本。四、四、编辑框编辑框属性名称含义ControlSource指定与控件建立联系的数据源DisabledForeColor指定该控件不响应用户事件时的前景颜色Enabled指定控件是否响应用户引发的事件ReadOnly指定控件内的数据是否为只读ScrollBars指定控件所具有的滚动条类型SelLength返回或指定在控件中选定文本的长度SelStart返回或指定在控件中选定文本的起始位置SelText返回在控件中已选定文本的内容SpecialEffect指定控件的格式(三维、平面、热追踪)Tabindex指定控件的Tab键次序TabStop指定用户能否用Tab键将焦点移到该控件上Value指定控件的当前状态(当前值)Visible指定控件是可见还是隐藏【例例8.9】设设计计一一个个可可以以修修改改stud表表中中“特特长长”字字段段内容的表单。内容的表单。在在第第1个个文文本本框框中中输输入入一一个个学学号号,在在stud表表中中找找不不到到该该学学号号时时,给给出出相相应应的的提提示示信信息息让让用用户户重重新新输输入入;若若找找到到相相应应记记录录,则则在在表表单单中中显显示示出出姓姓名名和和特特长长的的内内容容,单单击击“修修改改”按按钮钮即即可可进进入入修修改改特特长长的的状状态态,“修修改改”按按钮钮上上的的文文字字变变成成“保保存存修修改改”。特特长长内内容容被被修修改改后后,既既可可保保存存修修改改结结果果,也也可可选选择择放放弃弃。表表单单的的设设计计界界面面和和运运行行结结果果分分别别如如图图8.25和和图图8.26所示。所示。启动“窗体设计器”窗口,创建一个新表单。打开表单的“数据环境设计器”窗口,将stud表添加到数据环境设计器中。在表单上设置Label1、Label2、Label3标签,Textl、Text2文本框,Edit1编辑框,Commandl、Command2、Command3命令按钮 设置表单及各控件的有关属性,具体内容见表8.19。表单或控件名称属性名属性值Form1Caption修改学生“特长”字段内容Label1AutoSize.T.Caption输入一个学号:Label2AutoSize.T.Caption学生姓名Label3AutoSize.T.Caption编辑Text2ControlSourceStud.姓名DisabledForeColor0,0,0Enabled.F.Edit1ControlSourceStud.特长DisabledForeColor0,0,0Enabled.F.Command1Caption修改Enabled.F.Command2Caption放弃Enabled.F.Command3Caption退出 分别编写表单及各控件的事件代码。Form1表单的Init事件代码如下:PUBLICEditvalSELECTstudGOBottomSKIPThis.Text1.Setfocus()Thisform.Edit1.Enabled=.F.This.RefreshTextl文本框的Valid事件代码如下:LOCATEFor学号=ALLTRIM(This.Value)IFFOUND()Thisform.Command1.Enabled=.T.Thisform.RefreshELSE=MESSAGEBOX(您输入的学号不存在,请重新输入!)This.Value=RETURN0ENDIFTextl文本框的GotFocus事件代码如下:This.Value=GOBottomSKIPThisform.RefreshThisform.Command1.Enabled=.F.Thisform.Command2.Enabled=.F.“修改”(Commandl)按钮的Click事件代码如下:IFThis.Caption=修改Thisform.Text1.Enabled=.F.This.caption=保存修改Thisform.Command2.Enabled=.T.Thisform.Edit1.Enabled=.T.Thisform.Edit1.Setfocus()Editval=Thisform.Edit1.ValueELSEThisform.Text1.Enabled=.T.This.Caption=修改Thisform.Command2.Enabled=.F.Thisform.Edit1.Enabled=.F.ENDIF“放弃”(Command2)按钮的Click事件代码如下:Thisform.Edit1.Value=EditvalThisform.Command1.caption=修改This.Enabled=.F.Thisform.Edit1.Enabled=.F.Thisform.Text1.Enabled=.T.Thisform.Command1.Setfocus()“退出”(Command3)按钮的Click事件代码如下:Thisform.Release选项按钮组是包含多个选项按钮的容器对象是一组相互排斥的选项按钮,即单选Buttoncount属性指定按钮数Value属性指示单击选项按钮的序号若控件绑定的数据源为数值型字段,则将按钮的顺序号设置为该字段的值;若数据源为字符型字段,则将按钮的标题文本设置为该字段的值;若选项按钮组控件未绑定任何数据源,选中某个按钮后,则将该按钮的顺序号定义为该控件的值(Value)。选项按钮组控件和其中每个选项按钮都可独立定义自己的Click事件。各个按钮的Click事件优先。用鼠标右键单击选项按钮组,在弹出的快捷菜单中执行“编辑”命令,才能选中其中的某个按钮,为其定义属性或事件。五、选项按钮组属性名称含义AutoSize是否根据包含的按钮个数及大小自动调整大小ButtonCount包含的选项按钮个数ControlSource与控件建立联系的数据源Enabled是否响应用户引发的事件SpecialEffect控件的格式(三维、平面、热追踪)Value控件的当前状态(当前值)Visible控件是可见还是隐藏常用事件:一是当创建控件时发生的Init事件,二是当用户单击该控件时发生的Click事件,三是当用户使用键盘或鼠标更改了控件的值时发生的InteractiveChange事件。【例8.10】修改myclass3.scx表单,用选项按钮组控件显示和修改学生记录中的“性别”字段值。修改后表单的设计界面和运行界面如图8.27和图8.28所示。打开myclass3.scx表单,出现该表单的“窗体设计器”窗口。删除表单中原有的“性别”文本框,在原位置处添加一个选项按钮组控件OptionGroupl。利用控件生成器重新设置控件的相关属性:右击选项按钮组控件,在打开的快捷菜单中,单击“生成器”命令,打开“选项按钮组生成器”对话框。调整控件所含的按钮个数,在表格中重新设置各选项按钮的标题(Caption)属性,如图9.36所示。进入“布局”选项卡,选择“按钮布局”为“水平排列”,如图9.37所示进入“值”选项卡,单击“字段”下拉列表框右侧按钮,展开下拉列表,选中绑定到该控件上的数据源“stud.性别”,设置控件ControlSource属性的属性值。单击“确定”按钮返回该表单的“窗体设计器”窗口,保存表单的修改结果,关闭“窗体设计器”窗口。【例】利用图形选项组控制文本的对齐方式与字体,如图所示。例】利用图形选项组控制文本的对齐方式与字体,如图所示。选项组的图形方式选项组的图形方式 设计步骤如下:设计步骤如下:建立应用程序用户界面。选择新建表单,进入表单设建立应用程序用户界面。选择新建表单,进入表单设计器,增加一个文本框控件计器,增加一个文本框控件Text1、3个标签控件个标签控件Label1Label3和两个选项按钮组和两个选项按钮组OptionGroup1OptionGroup2。设置对象属性。设置对象属性。编写程序代码。编写程序代码。编写表单的编写表单的Activate事件代码:事件代码:THIS.Text1.SetFocus 编写编写OptionGroup1的的Click事件代码:事件代码:n=THIS.ValueDO CASE CASE n=1 THISFORM.Text1.Alignment=0 CASE n=2 THISFORM.Text1.Alignment=2 CASE n=3 THISFORM.Text1.Alignment=1ENDCASE 编写编写OptionGroup2的的Click事件代码:事件代码:n=THIS.ValueDO CASE CASE n=1 THISFORM.Text1.FontName=宋体宋体 CASE n=2 THISFORM.Text1.FontName=隶书隶书 CASE n=3 THISFORM.Text1.FontName=黑体黑体 CASE n=4 THISFORM.Text1.FontName=楷体楷体_GB2312ENDCASE 一次添加一一次添加一组组命令按命令按钮钮。对对于于命命令令按按钮钮组组控控件件,既既可可以以独独立立操操作作其其中中的的某某个个命命令令按按钮钮,也可以将也可以将这这些命令按些命令按钮视为钮视为一个整体进行操作。一个整体进行操作。与与选选项项按按钮钮组组控控件件类类似似,命命令令按按钮钮组组控控件件和和其其中中的的每每个个命命令令按按钮钮都都可可以以独独立立定定义义自自己己的的Click事事件件。如如果果分分别别定定义义了了各各个个按按钮钮的的Click事事件件,则则按按钮钮组组的的Click事事件件将将不不起起作作用用。如如果果其其中中的的某某个个命命令令按按钮钮没没有有定定义义Click事事件件,单单击击该该按按钮钮时将引发其所属命令按钮组的时将引发其所属命令按钮组的Click事件。事件。运行表运行表单时单时,当,当单击单击了命令按了命令按钮组钮组中的某个命令按中的某个命令按钮时钮时,会,会改改变变命令按命令按钮组钮组控件的当前控件的当前值值(Value),该值该值即即为为所所击击按按钮钮在按在按钮组钮组中的中的顺顺序号。也就是序号。也就是说说,如果,如果单击单击了按了按钮组钮组中的中的第第1 1个按个按钮钮,则则按按钮组钮组控件的控件的值值即即为为1 1。六、六、命令按钮组命令按钮组属性名称含义AutoSize是否根据按钮个数及大小自动调整按钮组的大小ButtonCount控件中包含的命令按钮个数Enabled是否响应用户引发的事件SpecialEffect控件的格式(三维、平面、热追踪)Value控件的当前状态(当前值)Visible控件是可见还是隐藏设计时选中该控件后也只能定义整个按钮组的属性及事件。若要定义其中某个命令按钮的属性或事件,必须用鼠标右击此控件,在弹出的快捷菜单中执行“编辑”命令,才能选中某个命令按钮设置其属性和事件程序。【例8.11】修改myclass3.scx表单,在原有基础上再添加两个命令按钮“首记录”和“尾记录”,进一步完善按钮的Click事件代码,保证当记录指针指向表文件头时“首记录”和“前一记录”按钮变成无效的灰色状态,不再响应用户的事件;当记录指针指向表文件尾时,“尾记录”和“下一记录”按钮也不再响应用户的事件。删除原有的命令按钮,用命令按钮组完成上述功能。修改后表单的设计界面和运行界面如图8.32和图8.33所示。打打开开myclass3.scx表表单单文文件件,出出现现该该表表单单的的“窗窗体设计器体设计器”窗口。窗口。删删除除原原命命令令按按钮钮,在在表表单单的的合合适适位位置置添添加加CommandGroup1命令按钮组。命令按钮组。定义按钮组控件的有关属性,具体内容定义按钮组控件的有关属性,具体内容如表如表8.23所示所示。控件名称属性名属性值CommandGroup1AutoSize.T.ButtonCount4CommandGroup1.Command1Caption首记录CommandGroup1.Command2Caption前一记录CommandGroup1.Command3Caption下一记录CommandGroup1.Command4Caption尾记录分别编写表单及各命令按钮的事件代码。Forml表单的Init事件代码如下:SELECT studGO TopTmand2.Enabled=.F.Tmand1.Enabled=.F.Thisform.Refresh“首记录”(Command1)按钮的Click事件代码如下:SELECT studGO TopThisForm.CommandGroup1.Command1.Enabled=.F.ThisForm.CommandGroup1.Command2.Enabled=.F.ThisForm.CommandGroup1.Command3.Enabled=.T.ThisForm.CommandGroup1.Command4.Enabled=.T.Thisform.Refresh“前一记录”(Command2)按钮的Click事件代码如下:SELECT studSKIP-1ThisForm.CommandGroup1.Command3.Enabled=.T.ThisForm.CommandGroup1.Command4.Enabled=.T.IF BOF()GO TopThisForm.CommandGroup1.Command1.Enabled=.F.ThisForm.CommandGroup1.Command2.Enabled=.F.ENDIFThisform.Refresh“下一记录”(Command3)按钮的Click事件代码如下:SELECT studSKIPThisForm.CommandGroup1.Command1.Enabled=.T.ThisForm.CommandGroup1.Command2.Enabled=.T.IF EOF()Go BottomThisForm.CommandGroup1.Command3.Enabled=.F.ThisForm.CommandGroup1.Command4.Enabled=.F.ENDifThisform.Refresh“尾记录”(Command4)按钮的Click事件代码如下:SELECT studGo BottomThisForm.CommandGroup1.Command1.Enabled=.T.ThisForm.CommandGroup1.Command2.Enabled=.T.ThisForm.CommandGroup1.Command3.Enabled=.F.ThisForm.CommandGroup1.Command4.Enabled=.F.Thisform.Refresh复选框控件只有两个值,当用户选中控件使其选框中出现对号时,它的值为逻辑值真,否则即为逻辑值假,因此常用来定义对象的某个可选项是否有效。可将数据表中的逻辑型字段指定为它的数据源。若当前记录的字段值为.T.,则在复选框中显示对号;若字段值为.F.,则复选框中不显示对号;若字段值为NULL,则复选框显示为灰色。七、复选框属性名称含义AutoSize是否根据标题文本自动调整控件的大小ControlSource与复选框建立联系的数据源Enabled是否响应用户引发的事件SpecialEffect复选框的格式(三维、平面、热追踪)Value复选框的当前状态(当前值)Visible复选框是可见还是隐藏【例8.12】继续修改myclass3.scx表单,在表单中添加一个复选框控件,用来显示和设置stud表中“是否团员”逻辑型字段的值。修改后表单的设计界面和运行界面如图8.34和图8.35所示。打开myclass3.scx表单文件,出现该表单的“窗体设计器”窗口。在表单的合适位置处添加一个Check1复选框控件。将该控件的Caption属性设置为“是否团员”,将它的ControlSource属性设置为“stud.是否团员”。保存表单的修改结果【例】利用复选框来控制输入或输出文本的字体风格。【例】利用复选框来控制输入或输出文本的字体风格。设计步骤如下:设计步骤如下:选择新建表单,进入表单设计器,增加一个形状控件选择新建表单,进入表单设计器,增加一个形状控件Shape1、一个文本框控件一个文本框控件Text1、一个标签控件一个标签控件Label1以及以及3个复选框控件个复选框控件Check1、Check2和和Check3。设置对象属性。设置对象属性。对象属性属性值说明Shape1SpecialEffect03维边框的风格Label1Caption请输入文本内容:标签的内容AutoSize.T.真自动适应内容的大小FontName隶书字体名称FontSize16字体的大小Text1FontSize18字体的大小Check1Caption粗体标题的内容AutoSize.T.真自动适应标题内容的大小Check2Caption斜体标题的内容AutoSize.T.真自动适应标题内容的大小Check3Caption下划线标题的内容AutoSize.T.真自动适应标题内容的大小 编写事件代码。编写事件代码。编写表单的编写表单的Activate事件代码:事件代码:THIS.Text1.SetFocus 编写编写Check1的的Click事件代码:事件代码:THISFORM.Text1.FontBold=THIS.Value 编写编写Check2的的Click事件代码:事件代码:THISFORM.Text1.FontItalic=THIS.Value 编写编写Check3的的Click事件代码:事件代码:THISFORM.Text1.FontUnderLine=THIS.Value【例】图形按钮形式的复选框,如图所示。单击锁定按钮关【例】图形按钮形式的复选框,如图所示。单击锁定按钮关闭其他复选框,单击修改按钮则开放其他复选框。闭其他复选框,单击修改按钮则开放其他复选框。设计步骤如下:设计步骤如下:选择新建表单,进入表单设计器,首先增加一个形状控选择新建表单,进入表单设计器,首先增加一个形状控件件Shape1,然后在其上增加一个文本框控件然后在其上增加一个文本框控件Text1、一个标一个标签控件签控件Label1以及以及5个复选框控件个复选框控件Check1、Check2、Check3、Check4和和Check5。修改控件属性。修改控件属性。复选框的图形按钮方式复选框的图形按钮方式对象属性属性值说明Check1Check4Caption(无)标题的内容AutoSize.T.真自动适应标题内容的大小Style1图形风格Check5CaptionR锁定标题的内容AutoSize.T.真自动适应标题内容的大小Style1图形风格Value.T.选中状态 编写事件代码。编写Check1的Click事件代码:THISFORM.Text1.FontBold=THIS.Value 编写Check2的Click事件代码:THISFORM.Text1.FontItalic=THIS.Value 编写Check3的Click事件代码:THISFORM.Text1.FontUnderLine=THIS.Value 编写Check4的Click事件代码:THISFORM.Text1.FontStrikethru=THIS.Value 编写Check5的Click事件代码:THISFORM.SetAll(Enabeld,THIS.Value,CheckBox)THIS.Enabeld=.T.THIS.Caption=IIF(THIS.Value=1,R 锁定,R 修改)列列表表框框控控件件是是个个可可滚滚动动显显示示的的项项目目列列表表,用用户户可可从从预预先先提提供供的的列列表表项项中中选选定定某某项项信信息息作作为为用用户户所所需需要要的的数数据据内内容容。当当某某项项数数据据的的允允许许取取值值仅仅为为固固定定的的若若干干项项时时,常常常常用用它它在在表表单单中中为为用用户户设置一种灵活方便的选择式录入数据的环境。设置一种灵活方便的选择式录入数据的环境。八、列表框八、列表框属性名称含义BoundColumn在包含多列的列表框中,指定将哪一列绑定到该控件的Value属性上ColumnCount列表框中包含的列数目ControlSource与列表框建立联系的数据源。当用户在列表框中选定某个列表项时,将把该列表项的值(Value)赋予对应的数据源DisplayValue列表框中选定数据项的第1列的内容Enabled列表框是否响应用户引发的事件ListCount列表框中包含的列表项数目Listindex列表框中选定数据项的顺序号MoverBars列表框是否显示移动条Multiselect能否在列表框控件内进行多重选定RowSource列表框中数据项的来源RowSourceType列表框控件中数据项的来源类型(详见表9.25)Sorted列表项是否自动按照字母顺序排列Value列表框的当前值类型数据项来源0-无在运行时使用AddItem方法添加列表项1-值在RowSource中直接指定由逗号分隔的若干个数据项2-别名某个指定数据表内前面若干个字段的所有取值3-SQL语句某个指定SQL的SELECT语句的查询结果4-查 询(.QPR)某个指定查询文件的运行结果5-数组某个指定数组的所有数组元素的值6-字段某个指定字段或用逗号分隔的字段列表的所有取值8-结构某个指定数据表内的所有字段名称列表框控件的常用方法AddItem方法将指定表达式的值添加到列表框控件的项目列表中。【格式】列表框名称.AddItem()RemoveItem方法从列表框控件中移去指定列表项。【格式】列表框名称.RemoveItem()【说明】只有当列表框的数据项来源类型(RowSourceType)定义为“0-无”、“1-值”和“8-结构”的情况下,才能对其实施添加或移去列表项的操作。Requery方法在列表框控件的数据项来源发生变化的情况下,重新查找并更新列表框中的数据项内容,使列表框中的显示结果与数据项来源的最新状态一致。【格式】控件名称.Requery()列表框的常用事件Click(单击)、DblClick(双击)和通过鼠标或键盘操作使列表框的当前值发生变化的InteractiveChange事件。【例8.13】设计一个查询学生单科成绩的表单,设计界面如图8.36所示。运行表单时,在“学生姓名”列表中选中一个学生姓名,即可在“已选修的课程”列表中自动显示该学生选修过的所有课程,在“已选修的课程”列表中选中一个课程名称,即可在相应的文本框中显示此学生该门课程的成绩情况。表单的运行结果如图8.37所示。启动“窗体设计器”窗口,创建一个新表单。打开表单的“数据环境设计器”窗口,将stud表、sc表和course表添加到数据环境设计器中。在表单的合适位置添加Label1、Label2、Label3标签,Listl、List2列表框、Textl文本框和Command1命令按钮。定义表单及各控件的有关属