如何实现MDI窗体不重复打开同一个子窗体?-创新互联
使用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 }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:如何实现MDI窗体不重复打开同一个子窗体?-创新互联
URL标题:http://lswzjz.com/article/pscpd.html