窗体容器MDI
什么是窗體容器MDI
效果和容器TabelControl差不多,區別就是一個是用來存放控件,一個來存放Form窗體
MDI應用
(1)如何把一個窗體變成MDI窗體
選中窗體,在窗口樣式屬性中,有一個屬性樣式叫做IsMdiContainer,選中True就把該窗體變成了一個MDI窗體
(2)把窗體放進去
??
//設置只能打開唯一集合,用來存放記錄打開的FormList<Form> AllForm = new List<Form>();private void 打開111ToolStripMenuItem_Click(object sender, EventArgs e){//定義要打開的Form2是不存在的bool hasf2 = false;//實例化要打開的Form2Form2 f2 = new Form2();//遍歷集合,看是否存在Form2foreach (Form f in AllForm){//如果存在From2類型的窗體if (f is Form2){//證明Form2已經打開了hasf2 = true;//把f轉換成f2f2 = f as Form2;}}//如果不存在Form2if (!hasf2){//打開的時候最大化f2.WindowState = FormWindowState.Maximized;//設置f2的所在的MDI窗體是Form1f2.MdiParent = this;//設置f2所在的父級,避免在菜單欄中存在關閉按鈕f2.Parent = panel1;//打開Form2f2.Show();//把f2添加到集合中AllForm.Add(f2);}//如果存在Form2else{//遍歷集合,把所有Form都隱藏foreach (Form ff in AllForm){ff.Hide();}//只打開f2f2.Show();}}這里有注意事項:
(1)Form2 要設置屬性為無邊框,這樣就不會存在關閉按鈕了.
(2)用MDI制作安裝程序步驟的時候,先讓MDI打開自身的一個Panel1,上面放一個Button,點擊按鈕后,Button隱藏,然后在打開MDI內的其它窗體,避免閃屏情況出現.
轉載于:https://www.cnblogs.com/weiyu11/p/6818876.html
總結
- 上一篇: navicat for mysql 数据
- 下一篇: PAT甲题题解-1011. World