C#中再次打开已打开子窗体时如何使其置前?

2024-12-20 06:29:09
推荐回答(2个)
回答1:

第一种解决方式:点击完查询弹出子窗口后就使得查询按钮不可用,关闭该查询窗口后再恢复按钮可用状态
第二种方式:借助全局变量,打开查询窗口后保存成全局变量,第二次的时候就判断是否为null,每次关闭后设置为null,然后窗口是具备设置为显示窗口的属性的(具体的不记得了你点来看一下嘛)就能置于前了

回答2:

用一个变量表示新建的子窗体,比如 mdiFrm(这个变量通常是其MDI父窗体的成员变量,因为要在父窗体中点击按钮的时候访问他)。然后根据它的相关属性,来确定是否应该新创建窗体。
使用 BringToFront 把一个窗体显示在前端(这个和 TopMost 是不一样的,后者是一直顶端显示)。
思想如下伪代码所示:
if (mdiFrm == null || mdiFrm.IsDisposed)
{
mdiFrm = new XXXFrm(); //这里XXXFrm为你的MDI子窗体的类名。
}
mdiFrm.Show();
mdiFrm.BringToFront();