【问题标题】:vfp9 'THIS' equivalent to vb.netvfp9 'THIS' 相当于 vb.net
【发布时间】:2013-03-11 06:19:36
【问题描述】:

在 VFP9 中有一个对象引用 THIS,它在事件代码或类定义中提供对当前对象的引用。在 vb.net 中有 ME 但正如我所观察到的,它指的是实际形式而不是对象本身。

button1 点击的 VFP 代码:

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

VB 代码

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

我想知道 vb.net 中等效的虚线,对当前对象的引用。我们有一个 VFP9 系统,我正在尝试将其转换为 vb.net。

【问题讨论】:

    标签: vb.net visual-foxpro


    【解决方案1】:

    VFP 基于控件的嵌套对象引用工作,“this”允许相对引用的能力。如果您想长期处理 VFP 等效项,则类似于

    Thisform.button1.Caption = "CLICKED"
    

    也就是说,您可能会在转化的下游遇到其他控件,类似于...

    this.Parent.otherControl.something...

    “.Parent”只是指当前对象的父控件。所以,假设你有一个带有页框的表单......在那上面有 3 页。在第 1 页上有一个容器。该容器有一个文本框和一个按钮。

    在单击按钮时,您希望在文本框控件中显示值的消息。该按钮可能有类似

    Messagebox( This.Parent.TheTextBoxControl.Text )
    

    您不必知道容器在表单中的埋藏深度,您只需知道文本框通过同一个父控件相对于按钮。

    【讨论】:

    • 即使按钮位于页面框架内或页面框架内的容器内,我也不必这样做Messagebox( This.Parent.TheTextBoxControl.Text ),但只需要在 clicke 事件中以这种方式 Messagebox(this.caption)按钮。这就是为什么 vfp 中的this 不仅适用于相对对象,而且适用于当前对象。我需要知道 vb.net 是否有相同的方法。
    • 我相信您也可以像在 VB 中一样引用 VFP。 Me.Parent.OtherControl 作为控件需要关联一些其他控件才能在表单中呈现,而“parent”是一个通用属性。您应该能够以类似方式引用。
    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多