VB.NET MDI子窗体实例化问题解决方案

VB.NET的出现帮助开发人员解决了以前很难实现的各种问题。下面大家就可以通过对VB.NET MDI子窗体在实际编写中遇到的实例化问题解决方法进行一个详细的了解,从而掌握这一问题的防范技巧。#t#

VB.NET MDI子窗体被多次实例化防范方法一

可能没有什么实用性,只适合简单项目:

  1. Dim frmTmp As ClassForm 
  2. "实现已经设计好了一个称作
    (类名为)ClassForm的表单   
  3. frmTmp = New ClassForm 
  4. "在此定义它的一个实例  
  5. frmTmp.ShowDialog() 
  6. "作为模式窗体显示 

这样在当前窗体没有关闭以前,其他form上的菜单按钮都不可用,巧妙使用可以避免多次实例化的问题。

VB.NET MDI子窗体被多次实例化防范方法二

只适用于,form不是特别多,且多运行时占用内存没有特殊要求的场合

在项目运行时,分别定义每个可能用到的form的实例,但不显示,只有在需要显示的时候每次调用,x.show(x为想显示的form实例名),关闭的时候使用x.hide即可。

VB.NET MDI子窗体被多次实例化防范方法三

分别定义每个需要显示的form类的全局变量,在实际显示窗体前使用以下代码:

 
 
 
  1. If frm Is Nothing OrElse 
    frm.IsDisposed Then  
  2. frm = New Form1  
  3. frm.Show()  
  4. Else  
  5. frm.Activate()  
  6. End If 

VB.NET MDI子窗体被多次实例化防范方法四

本方法特别适用于多文档界面:

 
 
 
  1. Dim frmTmp As Form  
  2. "搜索每个MDI子窗体一般打开的子
    窗体不会太多,所以不存在速度问题  
  3. For Each frmTmp In Me.MdiChildren  
  4. "if 找到你想显示的ClassFrm窗体  
  5. If TypeOf frmTmp Is ClassFrm Then  
  6. frmTmp.Activate()  
  7. Exit Sub  
  8. End If  
  9. Next  
  10. "如果MDI子窗体中没有你想显示的窗体  
  11. "则定义新的实例,并显示。  
  12. frmTmp = New ClassFrm400  
  13. frmTmp.MdiParent = Me 
  14. frmTmp.Show()  

文章题目:VB.NET MDI子窗体实例化问题解决方案
当前URL:http://www.hxwzsj.com/article/dpsgpgh.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站设计 重庆企业网站建设 高端网站设计 成都网站建设 成都网站建设推广 成都网站建设公司 网站制作公司 重庆网站建设 网站建设方案 定制网站建设 古蔺网站建设 营销型网站建设 重庆网站设计 H5网站制作 盐亭网站设计 LED网站设计方案 成都网站制作 成都网站设计 专业网站建设 营销型网站建设 成都网站设计 成都网站建设