请问在frmMain 怎样将一个数组传到一个子窗口中进行处理?请大家帮帮忙,解决后马上给分!

zhangwh6882 2002-08-23 07:37:39
如题
...全文
43 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwh6882 2002-08-23
  • 打赏
  • 举报
回复
newyon() 的方法很好,而且我的程序需要传递20几个数组,如果用全局变量的话显然不太合适!
多谢两位~!
newyon 2002-08-23
  • 打赏
  • 举报
回复
还可以用一种简单的方法

把form2的
private a As Variant
改成为
Public a As Variant

然后把定义的属性的定义去掉,这样也可以用!

不过这样做不太好!

到时你做过就知道了!

用公共变量的确方便,但是不方便其他人阅读自己写的程序,有什么问题就要添加全局的变量或数组可能会给自己带来很大的麻烦的啊!有时排错的时候都不知道在什么地方把这个变量的值改变了,就算用搜索找出来都是挺麻烦的.

这些是我在开发程序时自己的一些体会
Tenner 2002-08-23
  • 打赏
  • 举报
回复
还是用公共变量方便
newyon 2002-08-23
  • 打赏
  • 举报
回复
FORM1代码:

Private a(3) As Integer

Private Sub Command1_Click()
Dim bb As New Form2
Form2.ay = a
Form2.Show 1
End Sub

Private Sub Form_Load()
a(0) = 1
a(1) = 2
a(2) = 3
a(3) = 4
End Sub

FORM2的代码
Private a As Variant

Private Sub Command1_Click()
If IsArray(a) = True Then
MsgBox a(UBound(a))
End If
End Sub

Public Property Get ay() As Variant
ay = a
End Property

Public Property Let ay(ByVal vNewValue As Variant)
a = vNewValue
End Property

先运行form1
zhangwh6882 2002-08-23
  • 打赏
  • 举报
回复
newyon()能稍微详细一点么?我没用过
Tenner 2002-08-23
  • 打赏
  • 举报
回复
楼上的请举例
newyon 2002-08-23
  • 打赏
  • 举报
回复
在窗体建立自己的属性,这个属性用变体变量。

这是没有问题的!
Tenner 2002-08-23
  • 打赏
  • 举报
回复
变体变量只以用于在Function中返回数组,似乎用在窗口之间不行
newyon 2002-08-23
  • 打赏
  • 举报
回复
可以用变体变量来传
Tenner 2002-08-23
  • 打赏
  • 举报
回复
用Public吧,在模块中声明一个全局数组,在主窗口中给数组赋值,在子窗口中调用

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧