C# 将新打开的窗体置为最顶层

想将新打开的窗体显示在最顶层,可是用了下面的代码却总达不到要求,新打开的窗体总是显示在最先打开的窗体的下边。

            frmHosInfo.Focus();
            frmHosInfo.Activate();
            frmHosInfo.TopMost = true;

最后用了 BringToFront(),问题便迎刃而解啦!


以下是个人片段代码:

        private void btnHosInfo_Click(object sender, EventArgs e)
        {
            if (frmHosInfo == null || frmHosInfo.IsDisposed)//当尚未打开窗体 或 窗体打开后被关闭
            {
                frmHosInfo = new HospitalInformation();
                frmHosInfo.MdiParent = this;           //设置新打开的窗体的父窗体为当前窗体(this)
                frmHosInfo.Parent = splitContainer2.Panel2;  //新打开的窗体显示在splitContainer2.Panel2中
                frmHosInfo.Show();//显示新打开的窗体
            }

            if (frmHosInfo.WindowState == FormWindowState.Minimized)//如果窗体为最小状态
            {
                frmHosInfo.WindowState = FormWindowState.Normal;
            }
            frmHosInfo.BringToFront();//将新打开的窗体或本已打开的窗体置为最顶层窗体
        }



你可能感兴趣的:(C#,程序代码)