我想声明一个数组变量,让它可以被几个窗体共用,但是数组变量不能声明为public,请问要如何解决这个问题啊

解决方案 »

  1.   

    将数组放在标准模块中,可以声明为Public
      

  2.   

    Option   Explicit   
        
      '''''''''''   
      'form1   
      ''''''''''''   
      Private   Sub   Form_Load()   
              Dim   frm   As   frmForm   
              Dim   nArrVal()   As   Integer   
              Set   frm   =   New   frmForm   
              frm.ArryVal(2)   =   3   
              MsgBox   frm.ArryVal(2)   
              nArrVal   =   frm.ArryVals   
              MsgBox   nArrVal(2)   
      End   Sub   
        
      '''''''''''   
      'frmForm   
      ''''''''''''   
      Option   Explicit   
      Private   m_nArrVal(1   To   20)   As   Integer   
        
        
      Public   Property   Get   ArryVal(Index   As   Integer)   As   Integer   
              ArryVal   =   m_nArrVal(Index)   
      End   Property   
        
      Public   Property   Let   ArryVal(Index   As   Integer,   ByVal   vNewValue   As   Integer)   
              m_nArrVal(Index)   =   vNewValue   
      End   Property   
        
      Public   Property   Get   ArryVals()   As   Variant   
              ArryVals   =   m_nArrVal   
      End   Property
    说明一下     
      首先在frmForm   定义了ArryVal   和   ArryVals   属性来封装   m_nArrVal   数组,其中ArryVal   取数组单个元素,ArryVals   获取真个数组   
        
      在form1里来访问   和设置frmForm   的私有数组变量。   
        
      //   
      建议   所有的   窗体   变量都通过属性来访问。