![](/files/attmgn/2024/12/admin20241210101054269_0.jpg)
在工具欄中找到容器下的splitContainer進行添加,添加后可以將界面拆分成上下或者左右兩部分。由于控件不好選擇,可以在屬性位置處點擊下拉框選擇splitContainer控件,其中Panel1和Panel2是自動拆分的兩個區(qū)域。同樣的在屬性位置處點擊下拉框選擇splitContainer.Panel1和splitContainer.Panel2對拆分區(qū)域的屬性進行設(shè)置。本例中將左側(cè)區(qū)域設(shè)置為切換界面選擇區(qū)域,右側(cè)設(shè)置為顯示界面區(qū)域。判斷打開新窗體前右側(cè)區(qū)域是否有打開的窗體,如果有則關(guān)閉舊窗體打開新窗體。創(chuàng)建一個ClosePreForm關(guān)閉窗體方法private void ClosePreForm()
{
//嵌入窗體前,判斷當前容器中是否存在窗體,存在的話將其關(guān)掉
foreach (Control item in this.splitContainer.Panel2.Controls)
{
if (item is Form)//如果里面有窗體
{
Form objControl = (Form)item;//將item轉(zhuǎn)換為Form窗體類型
objControl.Close();//關(guān)閉
}
}
}
創(chuàng)建一個OpenForm打開新窗體方法objFrm為新窗體名稱private void OpenForm(Form objFrm)
{
objFrm.TopLevel = false;//將子窗體設(shè)置為非頂級控件
objFrm.WindowState = FormWindowState.Maximized;//將子窗體最大化顯示
objFrm.FormBorderStyle = FormBorderStyle.None;//去掉窗體邊框
objFrm.Parent = this.splitContainer.Panel2;//指定子窗體顯示的容器
objFrm.Dock = DockStyle.Fill;//子窗體隨容器大小而變化
objFrm.Show();
}
調(diào)用以上兩個方法打開指定窗體,FrmAddStu為新窗體名稱 ClosePreForm();//關(guān)閉已經(jīng)存在的窗體
OpenForm(new FrmAddStu());//打開新窗體
該文章在 2024/12/10 10:11:09 編輯過