访问动态窗体中的控件

gbchenda 2008-04-06 12:39:00
我在button_click过程中新建了窗体
Dim tfrm As New Form1
load tfrm
tfrm.show

请问我如何在其他过程中访问或更改tfrm的控件属性?
...全文
47 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
.......................
回复
标准答案:

Option Explicit

Private frm() As Form1
Private i As Long

Private Sub Command1_Click()
ReDim Preserve frm(i)
Set frm(i) = New Form1
frm(i).Show
i = i + 1
End Sub

Private Sub Command2_Click()
Dim x As Long
For x = 0 To i - 1
frm(x).Caption = x
Next
End Sub
回复
gbchenda 2008-04-08
还是不解决问题啊
比如我按了10下按钮,弹出了10个窗口,我想访问和操纵第9个(当然,这个也是随即的,也可能是第8个)窗口里的控件属性,应该怎么操作?
回复
舉杯邀明月 2008-04-08
Dim objForm as Form

Private Sub CommandButton1_Click()
Dim tfrm As New Form1
load tfrm
set objForm = tfrm
tfrm.show
End Sum

在其它模块中,用变量objForm来操纵新弹出的窗口。
回复
silencenet 2008-04-07

访问窗体中的控件必然是执行语句
当然要在过程中执行。。不可能在过程之外

你具体说明下你的“访问”是如何访问

回复
gbchenda 2008-04-07
是这样,我是想在每点击一次按钮的情况下弹出一个窗口,所以在CommandButton1_Click事件中定义了
Dim tfrm As New Form1
如果把它放到全局去的话就没有那个效果了
但是不知道怎么去访问和控制已经弹出的那些窗口了
回复
nicon 2008-04-07
修正:
Private tfrm as New Form1

Private Sub CommandButton1_Click()
load tfrm
tfrm.Caption = "test"
tfrm.show
End Sub
回复
nicon 2008-04-07
Private tfrm as New Form1

Private Sub CommandButton1_Click()
load tfrm
tfrm.Caption = "test"
tfrm.show
End Sum
回复
舉杯邀明月 2008-04-07
[Quote=引用楼主 gbchenda 的帖子:]
我在button_click过程中新建了窗体
Dim tfrm As New Form1
load tfrm
tfrm.show

请问我如何在其他过程中访问或更改tfrm的控件属性?
[/Quote]

把你的“Dim tfrm As New Form1”换成模块级的或全局的试一下。
回复
gbchenda 2008-04-06
不可以 楼上的方法只能在button_click过程中使用
出了button_click过程就无效了
但是运行中tfrm又是实际存在的 是不是需要返回窗体句柄什么的去调用?
回复
silencenet 2008-04-06
tfrm.子控件名.子控件属性=子控件属性值

这样应该可以吧
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7489

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2008-04-06 12:39
社区公告
暂无公告