两个窗体,form1和form2,在form1中有一个已赋值数组,现要在form2中使用这个数组,请问除了在module中将数组定义成Public这种方法外,还有什么办法没。

解决方案 »

  1.   

    一次性使用,可以用一个 Public 的 sub 或 function 作为接口,把数组名作为参数传递。
      

  2.   

    Form 中好象不可以声明 Public 的常量、变量、自定义类型、数组 吧!
      

  3.   

    你可以在 .bas 中加上 Public Function 或在 Form2中调用 Form1.tagForm1的代码
    Option Explicit
    Dim aa$
    Private Sub Form_Load()
       Me.Tag = "aaa"
       Form2.Show
    End SubForm2的代码
    Option Explicit
    Private Sub Command1_Click()
       MsgBox Form1.Tag
    End Sub
      

  4.   

    象这样使用:
    ' Form1 中的代码
    Option ExplicitPrivate PtX(5) As Long, PtY(5) As LongPrivate Sub Command1_Click()    Form2.Show
        Call Form2.DrawLine(PtX, PtY)
        
    End SubPrivate Sub Form_Load()    PtX(0) = 500: PtX(1) = 500: PtX(2) = 940: PtX(3) = 1500: PtX(4) = 2500: PtX(5) = 3500
        PtY(0) = 1100: PtY(1) = 700: PtY(2) = 700: PtY(3) = 2700: PtY(4) = 1300: PtY(5) = 700End Sub' Form2 中的代码
    Option ExplicitPrivate lThisPnt As LongPublic Sub DrawLine(arrDataX() As Long, arrDataY() As Long)    Dim j As Long
        
        lThisPnt = UBound(arrDataX)
        For j = 0 To lThisPnt - 1
            Form2.Circle (arrDataX(j), arrDataY(j)), 15, 0
            Form2.Line (arrDataX(j), arrDataY(j))-(arrDataX(j + 1), arrDataY(j + 1))
        Next j
        Form2.Circle (arrDataX(j), arrDataY(j)), 15, 0End Sub
      

  5.   

    难道 巫师 和 jhone 的 VB6 编译环境支持在 Form 模块中用 Pubic 声明变量?
      

  6.   

    哦,对!
    忘了Public的对象不能在窗体模块中定义
      

  7.   

    将数组在module中定义成Public,窗体form1/form2间值的传递能实现,但在form2中好像是不是修改不了从form1中传过来的值啊。问题是如何将传过来的值修改啊(不是简单的重新将form1的数组在form2中重定义、赋值)?
      

  8.   


    同意,在窗体中声明public变量!
      

  9.   

    vb6.0中可以在窗体中定义public变量啊?谁说不能用的?我一直都是这么使的啊
      

  10.   

    常数,固定长度字符串,数组,用户自定义类型,Declare语句 不允许作为对象模块(窗体等)的Public成员.