日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
淺談VB6.0實(shí)現(xiàn)多窗體交互

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

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

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

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

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

你需要在***實(shí)例化一個(gè)窗體時(shí),把該窗體的實(shí)例保存到一個(gè)類中:

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

這里的 CustomerForm 屬性值就是你的窗體實(shí)例。于是,其它代碼就能從項(xiàng)目的任何地方通過(guò)它來(lái)間接訪問你的窗體了:

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

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


當(dāng)前名稱:淺談VB6.0實(shí)現(xiàn)多窗體交互
本文地址:http://m.5511xx.com/article/djdgegh.html