访问动态窗体中的控件

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

请问我如何在其他过程中访问或更改tfrm的控件属性?
...全文
80 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2008-04-09
  • 打赏
  • 举报
回复
.......................
迈克揉索芙特 2008-04-08
  • 打赏
  • 举报
回复
标准答案:

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.子控件名.子控件属性=子控件属性值

这样应该可以吧

7,788

社区成员

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

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