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

淺談VB6.0實現(xiàn)多窗體交互

開發(fā) 后端
這里介紹VB6.0實現(xiàn)多窗體交互,多個窗體之間的交互通常需要借助默認窗體實例來完成。包括介紹保持窗體引用的全局性和.NET 中的數(shù)值全局化

在VB6.0等早期版本中,多個窗體之間的交互通常需要借助默認窗體實例來完成。本文向大家介紹VB6.0實現(xiàn)多窗體交互,可能好多人還不了解VB6.0實現(xiàn)多窗體交互,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。下面我將結(jié)合某些具體的編程任務來講解如何在VB6.0實現(xiàn)多窗體交互,希望它能對你的開發(fā)任務有所幫助。

1、保持窗體引用的全局性

前面提到,進行 .NET 窗體編程時應該牢牢把握下列原則:在訪問窗體之前,你必須進行窗體實例化;如果在項目中有多處代碼訪問同一窗體,則你必須把它的同一實例指針傳遞給這些代碼。對于早已習慣了直接把默認窗體實例當成全局變量來使用的VB6.0程序員來說,這可是個嚴重的挑戰(zhàn)。好在 .NET 為你提供了兩條出路:其一,把窗體實例指針保存在全局變量中;其二,把窗體實例指針傳遞給任何需要訪問它的窗體、類、模塊或者過程。

2、.NET 中的數(shù)值全局化

我以前曾經(jīng)指出,Visual Basic .NET 不支持全局變量,現(xiàn)在我又要說,在 .NET 中可以在某種程度上實現(xiàn)數(shù)值全局化。這算不算此一時,彼一時?不,我不是那種人。Visual Basic .NET 確實不支持全局變量,然而它借助 Shared (相當于 C# 中的 static) 變量卻能模擬全局變量。事實上,前面介紹的 Visual Basic 升級向?qū)ё詣犹砑拥酱绑w代碼中的 DefInstance 屬性就是 Shared 類成員。無論容納 DefInstance 屬性的窗體類是否已經(jīng)實例化,它都能被項目中的任何代碼所引用。象這樣的 Shared 屬性不就相當于全局變量嗎?因此,你可以創(chuàng)建這樣的類:

  1. Public Class myForms  
  2. Private Shared m_CustomerForm As CustomerForm  
  3. Public Shared Property CustomerForm() As CustomerForm  
  4. Get  
  5. Return m_CustomerForm  
  6. End Get  
  7. Set(ByVal Value As CustomerForm)  
  8. m_CustomerForm = Value 
  9. End Set  
  10. End Property  
  11. End Class  

你需要在***實例化一個窗體時,把該窗體的實例保存到一個類中:

  1. Dim myNewCust As New CustomerForm()  
  2. myNewCust.Show()  
  3. myForms.CustomerForm = myNewCust  

這里的 CustomerForm 屬性值就是你的窗體實例。于是,其它代碼就能從項目的任何地方通過它來間接訪問你的窗體了:

  1. Module DoingStuffWithForms  
  2. Sub DoExcitingThings()  
  3. myForms.CustomerForm.Text = _ 
  4. DateTime.Now().ToLongTimeString  
  5. End Sub  
  6. End Module  

像這樣把窗體實例保存為屬性值就能按照你的要求模擬VB6.0中的全局變量。如此模擬的“全局變量”其作用域比類域 (class scope) 高一個層次。所謂類域,是指變量僅僅在定義它的類(確切地說,應該包括模塊、類或窗體)中有效。比類域還低一層次的是過程域 (procedure scope),即變量僅僅在定義它的例程中有效。以上介紹VB6.0實現(xiàn)多窗體交互。

【編輯推薦】

  1. 講述VB.NET GroupBox控件屬性
  2. 概括VB.NET DomainUpDown控件
  3. VB.NET編碼算法學習筆記
  4. 詳細分析VB.NET讀寫文本文件
  5. 簡單概括VB.NET數(shù)據(jù)綁定
責任編輯:佚名 來源: 博客園
相關推薦

2009-10-14 14:50:16

VB6.0VB.NET

2009-10-09 15:26:24

VB6.0開發(fā)環(huán)境

2009-10-15 17:44:40

VB6.0 datat

2009-10-09 16:00:34

VB6.0開發(fā)

2009-10-14 15:01:45

VB6.0項目升級

2009-11-10 14:30:33

VB.NET多窗體

2010-01-11 10:44:47

VB.NET多窗體

2009-11-10 15:07:11

VB.NET窗體

2010-01-07 16:51:56

VB.NET窗體鉤子

2009-10-10 16:44:52

VB.NET開發(fā)控件

2009-10-14 10:25:52

VB.NET讀寫文本文

2009-10-22 16:46:03

VB.NET初步知識

2009-10-10 17:06:09

VB和VB.NET

2009-10-09 14:37:48

VB開發(fā)系統(tǒng)

2012-01-04 10:07:56

Delphi

2009-08-28 15:58:54

C#窗體里調(diào)用

2009-10-14 13:56:05

VB.NET數(shù)據(jù)窗體

2009-10-16 09:35:24

VB.NET制作透明窗

2010-01-13 09:31:39

VB.NET窗體打印

2009-06-16 10:20:05

多繼承C#
點贊
收藏

51CTO技術(shù)棧公眾號