2013-03-11 63 views
0

在VFP9中有一個對象引用THIS,它提供了對事件代碼或類定義中當前對象的引用。在vb.net中有ME,但正如我所觀察到的,它指的是實際的形式而不是對象本身。

VFP代碼爲Button1點擊:vfp9'THIS'相當於vb.net

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

VB代碼

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

我想知道的虛線相當於在vb.net,當前對象的引用。我們有一個VFP9系統,我試圖將其轉換爲vb.net。

回答

0

VFP基於控件的嵌套對象引用工作,「this」允許相對引用的功能。如果你想長手VFP等同,它會像

Thisform.button1.Caption = "CLICKED" 

現在,這麼說,你可能會遇到其他控件下游轉換看起來像...

這一點。 Parent.otherControl.something ...

「.Parent」只是指當前對象的父控件。所以,假設你有一個帶有頁面框架的表單......在這3頁上。在第1頁有一個容器。該容器有一個文本框和一個按鈕。

在按鈕的單擊中,您想要在文本框控件中顯示值的消息。該按鈕可能有類似

Messagebox(This.Parent.TheTextBoxControl.Text) 

你不必知道容器如何深埋的形式,你只要知道,文本框相對於通過相同的父控件按鈕。

+0

即使按鈕位於頁框或頁框內的容器內,我不必這樣做'Messagebox(This.Parent.TheTextBoxControl.Text)'但只需要以這種方式執行'Messagebox(this .caption)'在按鈕的clicke事件中。這就是爲什麼vfp中的this不僅是相對的,而且是當前的對象。我需要知道vb.net是否有相同的方法。 – Ikong 2013-03-12 01:42:51

+0

我相信你也可以像在VB中一樣引用VFP。 Me.Parent.OtherControl作爲控件需要與其他控件相關聯以用於表單中的呈現,而「parent」是一個共同屬性。你應該能夠引用類似的東西。 – DRapp 2013-03-12 11:42:43