成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解VB6.0和VB.NET窗體的區別

開發 后端
這里介紹VB6.0和VB.NET窗體的區別,窗體(窗體類)正如其它類一樣,無論在哪個版本的 Visual Basic 中都是必不可少的。窗體也有屬性、方法和事件,且在同一個項目中也允許創建多個窗體實例。

VB6.0和VB.NET還是比較常用的,于是我研究了一下VB6.0和VB.NET得區別,在這里拿出來和大家分享一下,希望對大家有用。

VB6.0對VB.NET

窗體(窗體類)正如其它類一樣,無論在哪個版本的 Visual Basic 中都是必不可少的。窗體也有屬性、方法和事件,且在同一個項目中也允許創建多個窗體實例。例如:假設你在 VB6.0項目中定義了一個窗體 Form2 ,則你可以創建它的 3 個實例并同時顯示出來。代碼如下:

  1. Dim myFirstForm As Form2  
  2. Dim mySecondForm As Form2  
  3. Dim myThirdForm As Form2  
  4.  
  5. Set myFirstForm = New Form2  
  6. Set mySecondForm = New Form2  
  7. Set myThirdForm = New Form2  
  8.  
  9. myFirstForm.Show  
  10. mySecondForm.Show  
  11. myThirdForm.Show  

以上代碼用 3 條 Set 語句生成了 3 個 Form2 實例。你可以把它原封不動地搬到VB.NET中運行,它照樣能夠正確顯示 3 個 Form2 窗體。在這里,“Form2” 其實相當于一個普通的類。VB6.0允許代碼直接訪問尚未實例化的窗體類;然而VB.NET卻規定在訪問任何類之前都要進行實例化,而且必須借助實例來訪問類。這種變化當然有可能造成許多疑惑。VB6.0等早期版本能自動生成每個窗體的默認實例,從而允許直接通過窗體名稱來訪問窗體。例如:在VB6.0項目中,可以直接用代碼“Form2.Show ”顯示 Form2 的默認實例;然而在VB.NET中,這么做只會引發錯誤,因為VB.NET既不會創建默認的窗體實例,也不允許直接訪問尚未實例化的窗體類。

這就是VB.NET與早期 Visual Basic 在窗體處理機制上的關鍵區別——你只有先創建窗體實例,然后才可以顯示窗體外觀、訪問窗體屬性及其控件。它們還有另一個區別:VB6.0項目自動創建的默認窗體實例都能被當成全局變量使用,也就是說,項目中的任何代碼都能直接引用窗體,并且每次被引用的都是該窗體的同一個實例。例如:你可以在窗體中 button 控件的 Click 事件處理程序里用代碼 “Form2.Show” 顯示 Form2 窗體,然后用下列代碼改變 Form2 中某個 textbox 控件 (TextBox1)的內容:

  1. Form2.TextBox1.Text = "Fred"  

可是,你在VB.NET中運行它卻會得到一條錯誤消息:“Reference to a Non-Shared Member Requires an Object Reference”(引用非共享類成員必須使用對象指針)。這是在提醒你:你正在訪問的類尚未進行實例化。有一個簡便的解決方案:當你在調試過程中得到上述錯誤消息時,就把相應的語句:

  1. Form2.Show()  

改成:

  1. Dim myForm2 As New Form2()  
  2. myForm2.Show()  

此方案適用于大多數場合。然而,當項目中還有其它代碼訪問同一個 Form2 實例 (比如改變其中 TextBox1 的文本) 時,你可能會考慮把下列語句:

  1. Form2.TextBox1.Text = "Fred" 

改成:

  1. Dim myForm2 As New Form2()  
  2. myForm2.TextBox1.Text = "Fred"  

不幸的是,這段代碼創建了一個新的 Form2 實例,結果你所訪問的窗體不再是原先的 Form2 ,這豈不麻煩了!更壞的是,你不會因此而得到任何錯誤消息提示,同時你先前調用 Show() 顯示的 Form2 窗體也不會發生任何變化。

【編輯推薦】

  1. 簡單描述VB.NET散列函數
  2. 詳細分析VB.NET讀寫文本文件
  3. VB.NET GroupBox控件學習經驗
  4. 概括VB.NET DomainUpDown控件
  5. VB.NET編碼算法學習筆記
責任編輯:佚名 來源: 博客園
相關推薦

2009-10-09 16:00:34

VB6.0開發

2009-10-14 15:11:28

VB6.0實現多窗體交

2009-11-02 17:12:01

VB和VB.NET

2009-10-10 17:06:09

VB和VB.NET

2009-10-29 14:02:24

VB和VB.NET比較

2010-01-11 15:12:30

VB.NET特殊窗體

2009-10-09 16:54:03

VB.NET窗體

2009-10-14 15:20:21

VB.NET窗體指針

2009-10-14 15:34:29

VB.NET窗體編程模

2009-10-15 17:44:40

VB6.0 datat

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-14 13:56:05

VB.NET數據窗體

2010-01-13 09:31:39

VB.NET窗體打印

2009-10-09 15:26:24

VB6.0開發環境

2009-10-10 16:44:52

VB.NET開發控件

2010-01-21 17:34:48

VB.NET Bool

2009-10-20 17:38:54

VB.NET Comp

2010-01-12 18:35:43

VB.NET Stru

2009-10-22 16:46:03

VB.NET初步知識

2010-01-13 15:52:59

VB.NET浮動窗體
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品日韩 | 一区二区三区回区在观看免费视频 | 一区二区三区在线免费观看 | 天天操天天干天天曰 | 九九av | 欧美日韩国产高清 | 一级毛片在线播放 | 色婷婷综合久久久久中文一区二区 | 亚洲一区二区三区在线 | 久久精品国产99国产 | 欧美日韩成人一区二区 | 337p日韩 | 欧美久久一级特黄毛片 | 免费毛片网站在线观看 | 日韩欧美三区 | 日韩一区二区三区视频 | 欧美一区二区三区在线观看 | 国产一区二区三区久久久久久久久 | 久久草在线视频 | 成人av免费播放 | 欧美成人免费在线 | 91精品国产综合久久久久久 | 精品国产欧美 | 精品一区二区三区在线观看国产 | 国产精品久久久久久久久久久久久 | 久久久成人动漫 | 久久精品一级 | 日韩综合 | 欧美在线观看一区 | 99久久国产免费 | 国产伦精品一区二区 | 伦理二区 | 国产视频1| 在线播放国产视频 | 国产 欧美 日韩 一区 | 亚洲区中文字幕 | 国产激情视频网站 | 欧美成人精品二区三区99精品 | 精品一区二区三区av | 欧美日韩国产一区二区 | 宅女噜噜66国产精品观看免费 |