你這個(gè)要求實(shí)在是不對路子。是思路不對。
創(chuàng)新互聯(lián)是一家專業(yè)提供于都企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為于都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
應(yīng)該是將窗體一和窗體二中的控件分別用一個(gè)panel裝起來,設(shè)為隱含狀態(tài)。都放在主窗體的panel1中。
點(diǎn)擊 窗體一時(shí),第一個(gè)panel的Visible=True,第二個(gè)panel的Visible=False
點(diǎn)擊 窗體二時(shí),第一個(gè)panel的Visible=False,第二個(gè)panel的Visible=True
就達(dá)到你要的效果了。
窗體不能裝來裝去的。
再有一個(gè)方法就是創(chuàng)建自定義控件。那個(gè)說起來太麻煩,看看書吧。
你可以在form1里不用hide事件
用unload form1
然后在form2里用
load form1
form1.show
檢查一下兩個(gè)地方
一是,form2有沒有寫入a
二還是你說的重新加載的問題
用unload就可以
點(diǎn)菜單“工程”--“添加窗體”--“現(xiàn)存”,找到你要加載的窗體文件,點(diǎn)“打開”即可。有多個(gè)窗體的話,就重復(fù)這個(gè)過程。
直接添加一個(gè)MID父窗體或在已有窗體的屬性中找到IsMDIContainer屬性,然后設(shè)置為True,然后創(chuàng)建第二個(gè)窗體 ,需要加載子窗體的時(shí)候:
Dim NewMDIChild As New Form2
NewMDIChild.MdiParent = Me
NewMDIChild.Show()
Public?Shared?Sub?CheckMDIChildForm(ByVal?MDIForm?As?Windows.Forms.Form,?ByVal?MDIChildForm?As?Windows.Forms.Form,?ByVal?MDIChildFormName?As?String)
If?MDIForm.MdiChildren.Length??1?Then
'如果沒有任何一個(gè)MDI子窗體,則創(chuàng)該MDI子窗體的窗體實(shí)例
Dim?MDIChildFrm?As?Windows.Forms.Form?=?MDIChildForm?'?定義MDI子窗體
MDIChildFrm.MdiParent?=?MDIForm?'指定父窗體
MDIChildFrm.Show()?'打開窗體
Exit?Sub
Else
Dim?x?As?Integer
Dim?frmyn?As?Boolean
For?x?=?0?To?(MDIForm.MdiChildren.Length)?-?1
Dim?tempChild?As?Windows.Forms.Form?=?CType(MDIForm.MdiChildren(x),?Windows.Forms.Form)
If?tempChild.Name?=?MDIChildFormName?Then
'檢測到有該MDI子窗體,設(shè)為激活?并退出循環(huán)
frmyn?=?True
tempChild.BringToFront()
Exit?For
Else
frmyn?=?False
End?If
Next
If?Not?frmyn?Then
'在打開的窗體中沒檢測到則新建
Dim?MDIChildFrm?As?Windows.Forms.Form?=?MDIChildForm?'?定義MDI子窗體
MDIChildFrm.MdiParent?=?MDIForm?'指定父窗體
MDIChildFrm.Show()?'打開窗體
End?If
End?If
End?Sub
VB.net 加載窗體 form2.show() 卸載窗體 me.close()加載窗體和VB沒啥區(qū)別,而卸載就截然不同了。附:VB 加載窗體 form2.show 卸載窗體 unload me