以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在TabControl动态加page,并且在添加的page打开一个窗口?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73312)

--  作者:colink
--  发布时间:2015/8/17 8:52:00
--  如何在TabControl动态加page,并且在添加的page打开一个窗口?
如何在TabControl动态添加page,并且在添加的page打开一个窗口?我是初学者,请多多帮忙,谢谢!
--  作者:大红袍
--  发布时间:2015/8/17 9:03:00
--  

参考代码

 

Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim Name As String = "窗口2"

tab.TabPages.Add(name,name)
Dim pb = tab.BaseControl
Forms(Name).OPEN(-1000,-1500)
Forms(Name).BaseForm.TopLevel = False
Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
PB.TabPages(name).Controls.Clear
PB.TabPages(name).Controls.add(Forms(Name).BaseForm)
tab.SelectedPage = tab.TabPages(name)


--  作者:colink
--  发布时间:2015/8/17 9:54:00
--  
我有一个窗口叫窗口1的,我把代码改成下面这样,一运行就加了一个窗口2的page,然后就死掉了,要怎么改?
Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim Name As String = "窗口2"
tab.TabPages.Add(name,name)
Dim pb = tab.BaseControl
Forms("窗口1").OPEN(-1000,-1500)
Forms("窗口1").BaseForm.TopLevel = False
Forms("窗口1").BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms("窗口1").BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
PB.TabPages("窗口2").Controls.Clear
PB.TabPages("窗口2").Controls.add(Forms("窗口1").BaseForm)
tab.SelectedPage = tab.TabPages("窗口2")



--  作者:大红袍
--  发布时间:2015/8/17 9:55:00
--  
 不要用预览的方式,直接运行窗口。
--  作者:colink
--  发布时间:2015/8/17 10:19:00
--  
谢谢



--  作者:colink
--  发布时间:2015/8/17 12:20:00
--  
试了,直接运行也死掉


--  作者:colink
--  发布时间:2015/8/17 12:23:00
--  
直接运行也死掉
--  作者:大红袍
--  发布时间:2015/8/17 12:25:00
--  

1、窗口2不能是模式窗口,必须是独立窗口;

 

2、直接运行不会死掉。


--  作者:colink
--  发布时间:2015/8/17 12:28:00
--  
可以了,非常感谢!!!!!