假定一个表单里有一个文本框Textl和一个命令按钮组CommandGroupl。命令按钮组是一个容器对象,其中包含Commandl和Command2两个命令按钮。如果要在Commandl命令按钮的某个方法中访问文本框的Value属性值,不正确的表达式是

admin2015-11-21  39

问题 假定一个表单里有一个文本框Textl和一个命令按钮组CommandGroupl。命令按钮组是一个容器对象,其中包含Commandl和Command2两个命令按钮。如果要在Commandl命令按钮的某个方法中访问文本框的Value属性值,不正确的表达式是

选项 A、Thisform.Text 1.Value
B、This.Parent.Parent.Text 1.Value  
C、This.ThisfoITS.Text 1.Value
D、Thisform.CommandGroup 1.Parent.Text 1.Value

答案C

解析 VFP中的对象一般可分为两种:容器对象和控件对象。容器可以包容其他的控件或容器,通常把容器对象称为那些被包容对象的父对象,这样就形成了对象的嵌套层次关系。在这种层次关系中,要引用其中的某个对象,就需要指明对象在嵌套层次中的位置。这时一般会用到一些引用属性或关键字,如parent是对象的一个属性,属性值为对象引甩,指向该对象的直接容器对象;This、Thisform和Thisformset是三个关键字,分别表示当前对象、当前表单和当前表单集。
    在所给题目中,共给出了五个对象,我们要先搞清楚它们哪些是容器哪些是控件,以及它们之间的包容层次关系,首先,表单是最外层的容器,其中有一个文本框控件textl和一个容器命令按钮组Commandgroupl,而Commandgroupl中又有两个命令按钮控件Commandl和Command2,故Commandgroupl是Commandl和Command2的父对象,表单是Commandgroup1和Textl的父对象。现在要在Commandl的方法中访问文本框Textl对象,即Commandl是当前对象,但由于Commandl和Textl没有包容关系,故必须由Commandl找到跟Textl有包容关系的对象来引用,也就是Textl的父对象表单。This代表当前的Commandl,Rhis.Parent指向父对象Commandgroupl,This.Parent.Parent则指向CommandgroupI的父对象表单,This.Parent.Parent.TextI则通过父对象表单引用了文本框Textl。
    对象访问属性的格式是:对象引用.对象属性。所以引用文本框Textl的Value属性,正确的表达式应该是this.parent.parent.text1.value。
转载请注明原文地址:https://kaotiyun.com/show/TMbp777K
0

最新回复(0)