VB怎样动态创建一个代码相同的窗体

例如我有一个窗体Form1,里面我已经设定好控件、编辑好代码。然后在程序运行时,我怎样通过代码动态创建一个与Form1内容(已有控件、代码)完全相同的窗口,然后.show... 例如我有一个窗体Form1,里面我已经设定好控件、编辑好代码。
然后在程序运行时,我怎样通过代码动态创建一个与Form1内容(已有控件、代码)完全相同的窗口,然后.show显示出来?
展开
 我来答
Leon1355
2013-07-12 · 超过16用户采纳过TA的回答
知道答主
回答量:77
采纳率:100%
帮助的人:23.9万
展开全部
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Dim NewForm(0 To 100) As New Form1
Dim N As Long

Private Sub ExitMe_Click()
UnloadAll_Click
End
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnloadAll_Click
End Sub

Private Sub MakeNew_Click() '新建一个窗体
Load NewForm(N)
SetParent NewForm(N).hWnd, Me.hWnd
NewForm(N).Show
NewForm(N).Caption = "子窗体 - " & N
NewForm(N).Tag = N
N = N + 1
Form1.SetFocus
End Sub

Private Sub SearchOne_Click() '查找某个窗体
Dim RES As String
RES = InputBox("请输入要查找窗体的索引号:(0 To 100)", "请输入:")
If RES <> "" And NewForm(CLng(RES)).Visible = True Then NewForm(CLng(RES)).SetFocus
End Sub

Private Sub UnloadAll_Click() '关闭所有子窗体
For Each TheForm In NewForm()
If TheForm Is Nothing Then Exit For
Unload TheForm
Next
N = 0
End Sub
追问
为什么一运行,整个程序包括IDE瞬间退出?
szqaly
2013-07-11 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1530万
展开全部
这个容易
dim newform as form
set newform= new form1
newform.show
追问
为什么一运行,整个程序包括IDE瞬间退出?
追答
是不是哪里 写了 End,由其在 form_load 事件中
连开发环境也退出?
那你新建一个工程试试,看是否代码中有问题。

会不会加载的窗体太多,导致系统空间不足。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式