想将新打开的窗体显示在最顶层,可是用了下面的代码却总达不到要求,新打开的窗体总是显示在最先打开的窗体的下边。
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();//将新打开的窗体或本已打开的窗体置为最顶层窗体
}