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