如何实现MDI窗体不重复打开同一个子窗体?

发布时间:2020-04-23 15:31:40 作者:大咖M
来源:网络 阅读:409

使用MDI窗体时,默认是可以多次打开同一个子窗体的,那么如何控制不重复打开同一个子窗体呢?MDI窗体有个重要属性——MdiChildren,该属性表示MDI窗体打开的子窗体的数组,循环遍历该数组,可以通过判断被打开子窗体的名称来禁止子窗体被重复打开。
例如,下面的代码实现在MDI框架窗体中不重复打开同一个子窗体:

01  FormChildformChild = newFormChild();//实例化FormChild子窗体
02  boolisOpened = false;//定义子窗体打开标记,默认值为false
03  foreach (Formforminthis.MdiChildren)//循环MDI中的所有子窗体
04  {
05  if (formChild.Name == form.Name)//若该子窗体已被打开
06      {
07  formChild.Activate();//激活该窗体
08  formChild.StartPosition = FormStartPosition.CenterParent;
09  formChild.WindowState = FormWindowState.Normal;
10  isOpened = true;//设置子窗体的打开标记为true
11  formChild.Dispose();//销毁formChild实例
12  break;
13      }
14  }
15  if (!isOpened)//若该子窗体未打开,则显示该子窗体
16  {
17  formChild.MdiParent = this;
18  formChild.Show();
19  }
推荐阅读:
  1. WinForm 关闭登陆窗体,打开主窗体的实现
  2. 获取MDI窗体中控件坐标的方法/屏幕局部截图原位写入

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

winform 窗体

上一篇:MySQL C API执行SQL语句的一种方式

下一篇:Redis集群主从实战

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》