1.先在窗體放置兩個pane,pane1的Dock屬性是Left,pane2是fill
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)邵武,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
2.再添加兩個pane,分別為pane3,pane4,把她們添加到pane2里面
3.再添加兩個button,放置到pane1里面
4.往pane3和pane4中分別放點不同的東西
5.然后button的事件是:
private void button1_Click(object sender, EventArgs e)
{
this.panel3.Visible = true;
this.panel4.Visible = false;
}
private void button2_Click(object sender, EventArgs e)
{
this.panel3.Visible = false;
this.panel4.Visible = true;
}
大概都是這么實現(xiàn)的,具體的效果還需要豐富
我以前也研究過vista優(yōu)化大師的效果
也仿照出來了,如果你需要源代碼,可以寫上你的郵箱,我給你發(fā)過去
直接添加一個MID父窗體或在已有窗體的屬性中找到IsMDIContainer屬性,然后設(shè)置為True,然后創(chuàng)建第二個窗體 ,需要加載子窗體的時候:
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
'如果沒有任何一個MDI子窗體,則創(chuàng)該MDI子窗體的窗體實例
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
你這個要求實在是不對路子。是思路不對。
應(yīng)該是將窗體一和窗體二中的控件分別用一個panel裝起來,設(shè)為隱含狀態(tài)。都放在主窗體的panel1中。
點擊 窗體一時,第一個panel的Visible=True,第二個panel的Visible=False
點擊 窗體二時,第一個panel的Visible=False,第二個panel的Visible=True
就達到你要的效果了。
窗體不能裝來裝去的。
再有一個方法就是創(chuàng)建自定義控件。那個說起來太麻煩,看看書吧。
一、帶窗體的dll創(chuàng)建
1、先新建 類庫(testdll),在項目中添加兩個窗體form1(主窗體)、form2,為了與后面的調(diào)用區(qū)分分別命名為fm1,fm2;并在fm1窗體中添加一個按鈕用來調(diào)用fm2如下圖
2、在fm1窗體代碼中先引用fm2, ? ?按鈕代碼調(diào)用fm2.如圖
3、生成dll,(class1.vb中不需要寫任何代碼)
二、調(diào)用dll
1、新建 一個windows應(yīng)用程序并添加一個按鈕用來調(diào)用dll中的窗體,選 擇 “項目”-“添加引用”,選擇剛才創(chuàng)建的testdll
2、窗體代碼中先引用testdll,再定義一個testdll中的fm1對象,最后執(zhí)行對象的show方法
3、運行結(jié)果如下:
VB用Show方法顯示窗體時使用style屬性為1,就可使顯示的窗體以模式窗體顯示。 Show 方法,用以顯示 MDIForm 或 Form 對象。不支持命名參數(shù)。 說明 如果調(diào)用 Show 方法時指定的窗體沒有裝載,Visual Basic 將自動裝載該窗體。
dim 一個窗體 as new form
with 一個窗體
.location=...
.size=...'這里是設(shè)置窗體的位置等屬性
end with
一個窗體.show