vfp9 BINDEVENT疑问

vfp9

=BINDEVENT(THISform.Controls[i], "Click", THISform, "MyMethod")

上面代码,我如何在MyMethod里面用代码获得THISform.Controls[i]这个控件的Caption的值?

参考GPT
在VFP 9中,你可以使用以下代码在MyMethod中获得THISform.Controls[i]控件的Caption值:


PROCEDURE MyMethod
    LPARAMETERS oSender, nXCoord, nYCoord

    LOCAL oControl
    oControl = THISform.Controls[i]
    IF TYPE("oControl") = "O" AND TYPE("oControl.Caption") = "C"
        ? oControl.Caption
    ENDIF

ENDPROC

在上面的代码中,LPARAMETERS语句用于声明接受事件参数的变量。在MyMethod方法中,我们首先将THISform.Controls[i]赋值给oControl变量。然后,我们检查oControl是否为对象类型,并且具有Caption属性。如果满足这些条件,我们打印oControl.Caption的值。

请确保在绑定事件之前将i设置为正确的索引值,并且在需要绑定事件的控件上调用BINDEVENT函数来注册事件处理程序。