【C#】C#实现嵌入式窗体(弹出的子窗体在父窗体内)

时间:2021-02-25 23:50:53

  最近有些时间,就把上半年做的东西整理了一下。

  C#搭配SQL Server使用,是我们在学习数据库的时候比较好的工具。

 

  由于换了一台电脑,以前的数据库也没有备份,所以现在无法运行。但是里面的代码还是比较有学习价值的。

 

   要使弹出的子窗体在父窗体内,第一件要做的事就是要检查对应的子窗体是否存在:

private bool checkChildFrmExist(string childFrmName)
        {
            foreach (Form childFrm in this.MdiChildren)
            {
                if (childFrm.Name == childFrmName) //用子窗体的Name进行判断,如果存在则将他激活
                {
                    if (childFrm.WindowState == FormWindowState.Minimized)
                        childFrm.WindowState = FormWindowState.Normal;
                    childFrm.Activate();
                    return true;
                }
            }
            return false;
        }
   然后点击

【C#】C#实现嵌入式窗体(弹出的子窗体在父窗体内)

  该ToolStrip对应的代码如下:

 

private void 学生信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.checkChildFrmExist("StudentInfo") == true)
            {
                return;
            }

            StudentInfo newFrm = new StudentInfo();
            newFrm.MdiParent = this;

            newFrm.Show();
            newFrm.Dock = DockStyle.Fill; //全屏
            //newFrm.FormBorderStyle = FormBorderStyle.None;
        }
   同时,项目中要建好:

【C#】C#实现嵌入式窗体(弹出的子窗体在父窗体内)

  运行程序,点击对应的ToolStrip就能使弹出的窗体出现在父窗体中。