總體來說,操作上區(qū)別不大,
江永網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),江永網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為江永近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的江永做網(wǎng)站的公司定做!
都是在一個空白的窗體上面畫控件,
基本控件總體變化不大,
而且預(yù)設(shè)的控件量很多,
基本上不用再倒入其他什么玩藝兒了……
(.NET 里是沒有 ActiveX 控件這么一說的,大家平起平坐)
可是代碼的變化很大,關(guān)鍵字啊變化都挺大的……
比如,在控件方面,控件的文本屬性都是 Text,而沒有 Caption 這么一說
不過 Value 屬性依然保留。
Form 的 Show 方法被拆成了 Show 和 ShowDialog,顧名思義。
Unload 方法被 Form 的 Close 方法代替。
在對控件的事件處理方面,VB 6.0 使用方法的名稱來定義事件處理程序,
而在 .NET 中使用 Handles 語句來定義,
并且可以用 AddHandler 來在運(yùn)行時定義事件處理程序。
在關(guān)鍵字方面,
VB.NET 使用 Class、Module 關(guān)鍵字來標(biāo)記一個模塊,
就像 Sub、Function 一樣,
而不是以文件區(qū)分,
即一個文件里能放多個模塊。
而且 VB.NET 能夠提供完備的 OOP 支持,
較 VB6.0 相比,
可以使用 Inherit 關(guān)鍵字來實現(xiàn)類的繼承,
因此“基類”、“派生”、“重寫”不再是 C 的專利。
于是又出現(xiàn)了 MyBase 關(guān)鍵字用于表示當(dāng)前實例(Me)的基類,
在 .NET 里,和“我”有關(guān)的關(guān)鍵字包括:Me、My、MyBase、MyClass。
隨之而來的是與可繼承性有關(guān)的 Overridable、MustInherit、MustOverride、NotInheritable、NotOverridable、Protected,
與繼承相關(guān)的 Inherit、Override 關(guān)鍵字。
另外,VB.NET 支持成員重載,即使用相同的名稱與不同的參數(shù)來區(qū)分不同的成員。
而且,在 .NET 框架中,
有一個用來將不同的模塊分開的容器,命名空間(Namespace 關(guān)鍵字),使模塊井井有條,減少了命名沖突的發(fā)生。
比如內(nèi)置的各種控件都定義在System.Windows.Forms 命名空間里。
在數(shù)據(jù)類型方面,
在 .NET 框架中,所有的類型(包括繼承自 ValueType 的 String、Integer、作為各種枚舉的基類的Enum類型等)都繼承自 Object 類型,即 Object 取代了 Variant。
而 Object 有一個很方便的 ToString 函數(shù),在 CStr 不管用的時候可以用這個。
而且,在 .NET 中,考慮到程序的性能,
不建議使用后期綁定,例如:
(VB 6.0)
Dim V1 As String, V2 As String
V2 = V1 * 50
在 .NET 中,
如果文件頭部有 Option Strict [On],
或是(建議)在工程設(shè)置里打開這一選項,
第二行就會報錯,
因為*不是適用于 String 的操作符,
而在 VB 6.0里會自動執(zhí)行轉(zhuǎn)換,
如果是在 VB.NET,建議執(zhí)行強(qiáng)制轉(zhuǎn)換:
(VB.NET)
Dim V1 As String, V2 As String
V2 = CStr(CInt(V1) * 50)
同理,
(VB 6.0)
Dim Obj As Object
Set Obj = TextBox1
Obj.Text = “Hello World!”
第三行就會報錯,
因為 Caption 不是 Object 的屬性,
而是 TextBox 的屬性,
解決方案是,使用早期綁定:
(VB.NET)
TextBox1.Text = “Hello World!”
如果需要,可以使用:
DirectCast(Obj, TextBox).Text = “Hello World!”
與此相關(guān)的新式轉(zhuǎn)換關(guān)鍵字包括 CType、DirectCast、TryCast、CObj
盡管看起來累贅些,
但可以避免過度的隨意性。
由此,許多在 VB 6.0里不是很明朗的東西變得豁然開朗,
比如我們設(shè)計的窗體其實繼承自 Form 類,
而 Form 類又繼承自 Object,因此我們可以使用:
(VB 6.0)
Dim FormInstance As Form
Set FormInstance = New Form1
而不會報錯。
說到這里,.
NET 不支持默認(rèn)屬性,
即:
(VB 6.0)
Command1 = “Hello World!”
等價于:
Command1.Caption = “Hello World!”
而在 .NET 中沒有 Set 關(guān)鍵詞:
(VB.NET)
Dim Ctl As Control
Ctl = Command1
只能先說到這里了……
有點(diǎn)多,
總之是 .NET 很強(qiáng)大,
過渡不是沒有可能,
但要多看 MSDN。
vb.net的MSDN都在微軟的網(wǎng)站上,因為微軟每天都在更新MSDN的內(nèi)容,當(dāng)然也有離線版,不過容量太大(10多G),不建議安裝,如果要裝的話,請參考:
在VB.NET操作縮放圖像中的顯示和保存縮放圖像,用到Image和Graphics類,在VSDotNet2K3下面Reference里自動添加了引用System.Drawing,直接用就行。
實現(xiàn)VB.NET操作縮放圖像代碼如下:DimimgAsImageImage=Image.FromFile
(D:\Image\tstImage.jpg)
''tstImage是原先的圖片DimgrfxAsGraphics=Me
.CreateGraphics
grfx.DrawImage(img,0,0,img.Width*
3,img.Height*3)''在Form里顯示
DimimgnewAsNewSystem.Drawing.Bitmap
(img,img.Height*3,img.Width*3)
''新建一個放大的圖片
imgnew.Save(D:\Image\tstNewImage.jpg,
System.Drawing.Imaging.ImageFormat.Jpeg)
''保存放大后圖片
你可以建一個Form,然后在Form里拖進(jìn)一個Button,把上面的代碼放在Button_Click事件里面源碼天空
,執(zhí)行就行了。
對上面VB.NET操作縮放圖像代碼的解釋:
1.要獲取Graphics對象只能從某一事件的參數(shù)中獲取或者使用窗體和控件對象的CreateGraphics方法來獲取-----上面代碼使用Me.CreateGraphics來引用這個對象。
2.加載一個圖片用Image類的FromFile或者FromStream方法
3.用DrawImage來顯示一個圖片,該方法有30多個重載方法,可以查MSDN了解細(xì)節(jié)。
4.保存時的一個問題:我們必須先建一個對象,用于存縮放圖像。
msdn文檔在網(wǎng)頁上有,瀏覽器打開就可以看到了。如果想看某個類庫的介紹的話,直接在網(wǎng)址后面加上完整命名空間,比如就行了
我們都知道,面向?qū)ο笳Z言的三大特征是:封裝、繼承和多態(tài)。而重寫和重載是多態(tài)的兩種表現(xiàn)形式。多態(tài),顧名思義,就是指多種形態(tài)。而重寫和重載正好體現(xiàn)了這一點(diǎn)?,F(xiàn)在我們以 VB.NET 語言來說明兩者的區(qū)別。
重寫是發(fā)生在父類與子類之間的關(guān)系。具體來講就是子類可以重寫父類的現(xiàn)有的方法。它要求子類的方法名稱及參數(shù)必須與父類完全一致。比如吃飯,父親可以吃兩碗面,孩子同樣也是吃面,卻只能吃一碗。
重載則主要是發(fā)生在同一個類當(dāng)中的,它通過多個名稱相同的方法,但方法參數(shù)不相同,或者方法返回類型不相同來加以區(qū)別。其中,方法參數(shù)不相同包括以下幾種情況:參數(shù)的個數(shù)不相同,參數(shù)的類型不相同,參數(shù)的對應(yīng)位置不相同。需要說明的是,重載同樣可以應(yīng)用到父類與子類當(dāng)中。即子類重載了父類的方法。
重寫:
在 VB.NET 中,重寫汲及到的關(guān)鍵字有:
OverRidable: 在父類中聲明的可以在子類中重寫的方法。
OverRides: 在子類中聲明的要重寫父親中可重寫的方法。
MustOverRide: 在父類中,表示這個方法必須在子類中重寫。此時,該類必須聲明為抽象類。
NotOverridable: 如果當(dāng)前類還有子類,那么,在其子類中,該方法不允許被重寫。
重載:
在 VB.NET 中,重載用到的關(guān)鍵是 OverLoads。
這里需要說明幾點(diǎn):
1. 對于在同一類當(dāng)中,一組名稱相同的方法或函數(shù)重載時,可以加關(guān)鍵字 OverLoads 或者不加。但如果其中有一個方法加上,那同組其它方法也必須加該關(guān)鍵字。
2. 如果該方法是重載父類中的方法。那么必須加 OverLoads 關(guān)鍵字。
3. 如果兩個同名函數(shù)僅返回類型不相同,則它們不能重載,即必須在參數(shù)上有所不同。
網(wǎng)站名稱:vb.net重載msdn vb函數(shù)重載
URL分享:http://aaarwkj.com/article38/doodgpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站策劃、商城網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)