2013-03-11 2 views
0

Dans VFP9, il existe une référence d'objet THIS qui fournit une référence à l'objet actuel dans le code d'événement ou dans une définition de classe. Dans vb.net il y a ME mais comme je l'ai observé il se référait à la forme réelle pas à l'objet lui-même.

code VFP pour button1 clic:vfp9 'THIS' équivalent à vb.net

this.caption = "CLICKED" <<OR>> thisform.button1.caption = "CLICKED" 

Code VB

----------------------- <<OR>> Me.button1.text="CLICKED" 

Je veux savoir l'équivalent d'une ligne en pointillé dans vb.net, une référence à l'objet courant. Nous avons un système VFP9 et j'essaye de le convertir en vb.net.

Répondre

0

VFP fonctionne sur la base de références d'objets imbriqués pour les contrôles et "ceci" permet la capacité de référence relative. Si vous vouliez longue main l'équivalent VFP, ce serait quelque chose comme

Thisform.button1.Caption = "CLICKED" 

Maintenant, cela étant dit, vous pouvez rencontrer d'autres contrôles en aval dans votre conversion qui ressemblent quelque chose comme ...

cela. Parent.otherControl.something ...

Le ".Parent" fait simplement référence au contrôle parent de l'objet actuel. Donc, disons que vous avez un formulaire avec un pageframe ... Sur ce sont 3 pages. Sur la page 1 a un conteneur. Ce conteneur a une zone de texte et un bouton.

En cliquant sur le bouton, vous souhaitez afficher un message de la valeur dans le contrôle de zone de texte. Le bouton peut avoir quelque chose comme

Messagebox(This.Parent.TheTextBoxControl.Text) 

Vous ne devez pas savoir à quelle profondeur le récipient est enterré sous la forme, vous savez que la zone de texte est par rapport au bouton via le même contrôle parent.

+0

même si le bouton est à l'intérieur d'une pageframe ou d'un conteneur à l'intérieur d'une pageframe, je n'ai pas besoin de le faire 'Messagebox (This.Parent.TheTextBoxControl.Text)' mais il suffit de le faire de cette manière 'Messagebox (this .caption) 'dans l'événement clicke du bouton. C'est pourquoi 'this' dans vfp n'est pas seulement pour relatif mais aussi pour l'objet courant. J'ai besoin de savoir si vb.net a la même méthode ou les mêmes moyens. – Ikong

+0

Je crois que vous pouvez également faire référence à VFP comme dans VB. Me.Parent.OtherControl en tant que contrôles doivent être associés à un autre contrôle pour la présentation dans le formulaire, et "parent" est une propriété commune. Vous DEVRIEZ être capable de référencer de manière similaire. – DRapp