通过变量调用窗体??????

fswind 2004-07-05 11:21:50
一个变量中存储着一个窗体的名称,如何通过变量调用窗体.在线等待.
...全文
249 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueBeer 2004-07-06
  • 打赏
  • 举报
回复
不可以把变量声明成form吗?

dim f as form
Set f=form2'把窗体名赋给变量
f.show
wumy_ld 2004-07-06
  • 打赏
  • 举报
回复
第二种方法(我更喜欢第一种,因为它可以执行任何命令行,第二种只能显示窗体),在Form1上再添加一个文本框Text1:
Option Explicit

Private Function ShowNamedForm(strForm As String) As Form
Dim frmTemp As Form

Set frmTemp = Forms.Add(strForm)
frmTemp.Show
Set ShowNamedForm = frmTemp
End Function

Private Sub Command1_Click()
ShowNamedForm Text1.Text
End Sub

Private Sub Form_Load()
Text1.Text = "Form2"
End Sub
wumy_ld 2004-07-06
  • 打赏
  • 举报
回复
'添加一个新工程,添加两个窗体Form1,Form2,然后在form1上面放一个命令按钮即可看到效果:
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function

Private Sub Command1_Click()
Dim strTest As String

strTest = "Form2.Show vbModal"
ExecuteLine strTest
End Sub
nik_Amis 2004-07-06
  • 打赏
  • 举报
回复
up
fswind 2004-07-06
  • 打赏
  • 举报
回复
或者有什么办法用load语句通过变量装入form,比如 load (form_name)
huangjianyou 2004-07-06
  • 打赏
  • 举报
回复
用一楼的方法吧。
fswind 2004-07-06
  • 打赏
  • 举报
回复
我只有一个变量(STRING)包含FORM名字,如何用它来show?
Amuclan 2004-07-06
  • 打赏
  • 举报
回复
楼上的错!

Dim f as form
set f = new form2 '用new才对
f.show


OK?
hhjjhjhj 2004-07-05
  • 打赏
  • 举报
回复
这个问题在窗体未加载时没办法了,只能对已加载的窗体还可用Forms集合调用(if forms(i).name=xxxx then)
何不用如下方法呢

Function ShowFrm(form_name As String)
Select Case form_name
Case "Form2"
Form2.Show
Case "Form3"
Form3.Show
'.......
End Select
End Function

7,763

社区成员

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

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