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

例如,现在我的主窗体有“查询”“修改”“管理”三个BUTTON,并且子窗体在MDI主窗体中最大化显示。现在的问题就是无限点“查询”按钮就会出现无数个查询窗体,看着非常不科... 例如,现在我的主窗体有“查询”“修改”“管理”三个BUTTON,并且子窗体在MDI主窗体中最大化显示。现在的问题就是无限点“查询”按钮就会出现无数个查询窗体,看着非常不科学。所以我想这样,如果想要打开的窗体已经存在,那么就让其在置于最前。怎么做啊? 展开
 我来答
手机用户90816
推荐于2018-04-24
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
第一种解决方式:点击完查询弹出子窗口后就使得查询按钮不可用,关闭该查询窗口后再恢复按钮可用状态
第二种方式:借助全局变量,打开查询窗口后保存成全局变量,第二次的时候就判断是否为null,每次关闭后设置为null,然后窗口是具备设置为显示窗口的属性的(具体的不记得了你点来看一下嘛)就能置于前了
追问
谢谢窗体置于最前显示的属性没找到额。。。有个TOPMOST属性 但是行不通
zx5626
推荐于2016-10-20 · 超过23用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:71万
展开全部
用一个变量表示新建的子窗体,比如 mdiFrm(这个变量通常是其MDI父窗体的成员变量,因为要在父窗体中点击按钮的时候访问他)。然后根据它的相关属性,来确定是否应该新创建窗体。
使用 BringToFront 把一个窗体显示在前端(这个和 TopMost 是不一样的,后者是一直顶端显示)。
思想如下伪代码所示:
if (mdiFrm == null || mdiFrm.IsDisposed)
{
mdiFrm = new XXXFrm(); //这里XXXFrm为你的MDI子窗体的类名。
}
mdiFrm.Show();
mdiFrm.BringToFront();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式