自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET MDI子窗體實例化問題解決方案

開發(fā) 后端
VB.NET MDI子窗體在實際編程中往往會出現(xiàn)被對此實例化這樣的情況。那么應該如何才能防范這一問題呢?就讓我們一起來看看本文介紹的幾種解決方法。

VB.NET的出現(xiàn)幫助開發(fā)人員解決了以前很難實現(xiàn)的各種問題。下面大家就可以通過對VB.NET MDI子窗體在實際編寫中遇到的實例化問題解決方法進行一個詳細的了解,從而掌握這一問題的防范技巧。#t#

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

可能沒有什么實用性,只適合簡單項目:

  1. Dim frmTmp As ClassForm 
  2. "實現(xiàn)已經(jīng)設計好了一個稱作
    (類名為)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()  

 

責任編輯:曹凱 來源: 博客園
相關推薦

2009-10-29 10:04:57

VB.NET Read

2010-01-11 18:05:24

VB.NET窗體繼承

2009-10-27 15:02:07

VB.NET文件處理

2010-01-22 15:42:01

VB.NET錯誤

2009-09-03 16:09:48

.net回車符

2010-01-07 17:10:01

VB.NET控件數(shù)組問

2010-01-20 14:52:21

VB.NET修改數(shù)據(jù)窗

2012-05-09 10:08:41

跨機房

2009-04-30 13:24:45

VB.NET 2008窗體應用實例

2009-07-23 16:53:17

ASP.NET中文變問

2009-11-11 15:59:17

ADO.NET Ent

2010-03-30 16:04:34

Linux Nginx

2010-09-27 13:14:42

JVM內存限制

2009-11-03 17:31:01

VB.NET窗體

2010-01-08 17:12:03

VB.NET短路判斷

2010-01-18 14:41:33

VB.NET抓取網(wǎng)頁

2010-10-08 13:09:38

JavaScript數(shù)

2010-02-06 14:54:11

C++指針漂移

2010-05-31 12:53:56

Nagios apac

2010-04-28 19:24:17

Hp unix
點贊
收藏

51CTO技術棧公眾號