c#在主窗體panel 容器內嵌入另一個窗體(子窗體)的實現


主窗體: 

子窗體:

把子窗體嵌入到主窗體的panel 右側中:

代碼:

{
        public MainForm()
        {
            InitializeComponent();
        }
        private void ClosePreForm()  
        {
            foreach (Control item in this.panelform.Controls)
            {
                if (item is Form)
                {
                    Form objControl = (Form)item;
                    objControl.Close();
                }

            }
        }
        private void OpenForm(Form objFrm)
        {
            //嵌入子窗體到父窗體中,把添加學員信息嵌入到主窗體右側
            objFrm.TopLevel = false; //將子窗體設置成非最高層,非頂級控件
            objFrm.WindowState = FormWindowState.Maximized;//將當前窗口設置成最大化
            objFrm.FormBorderStyle = FormBorderStyle.None;//去掉窗體邊框
            objFrm.Parent = this.panelform;//指定子窗體顯示的容器
            objFrm.Show();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //嵌入窗體前判斷當前容器中是否有窗口沒關掉
            ClosePreForm();
            OpenForm(new ChirdForm());
        }
 
    }

運行效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM