1. Shared Function System.Runtime.
創(chuàng)新互聯(lián)服務項目包括遼陽網(wǎng)站建設、遼陽網(wǎng)站制作、遼陽網(wǎng)頁制作以及遼陽網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,遼陽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到遼陽省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
InteropServices.DLLimport("user32.dll")
2. MessageBoxA(ByVal hwnd As Integer,
ByVal text As String, ByVal
lpcaption As String, ByVal
wtype As Integer) As Integer
3. End Function
首先integer被作為32位數(shù)據(jù)替代了long(long是64位)
System是Net語言中的一個族,System.Runtime.InteropServices是system中的一個類。System.Runtime.InteropServices.DLLimpor是其中的一個方法。調(diào)用DLL的API
接口,這個的意思就是vb6的lib"user32", share是共享的意思,例如:
1. Public Class classA
2. Shared Function System.Runtime.
InteropServices.DLLimport("user32.dll")
MessageBoxA(ByVal h As Integer,
ByVal m As String, ByVal c As
String, ByVal type As Integer) As Integer
3. End Function
4. End Class
你可以這樣調(diào)用 classA.MessageboxA 但是如果沒有這個share 在class后打點就沒有MessageboxA的成員出現(xiàn)了 ,現(xiàn)在你就象以前一樣的使用他吧。
其實上面這個VB.NET函數(shù)調(diào)用方法并不正確,我們?nèi)耘f要使用API聲明,只是換了一各形式
如果你認為這就是VB.NET就錯了,看看這個:
system.WinForms.MessageBox.Show("對話內(nèi)容寫在這里", "標題寫在這里", messagebox.OK BitOr messagebox.IconAsterisk)
這就是面向?qū)ο?,你已?jīng)完成了所有的任務。不需要任何的API聲明。不需要寫多余的代碼。
1. messagebox.IconAsterisk=驚嘆號圖標
2. messagebox.IconError=錯誤圖標
3. messagebox.IconExclamation=警告圖標
4. messagebox.IconHand=錯誤圖標
5. messagebox.IconInformation=提示圖標
所經(jīng)點NET就是打點到達,在族后面打點,在類后面打點,在對象后面打點。第二個問題就是類與類之間相互的關(guān)系,Net在網(wǎng)上處理人與人的關(guān)系,在程序語言中處理類與類的關(guān)系。倒底是加不加share,倒底是類后面打點,還是Dim成一個對象(把他當一個變量吧)再說,是等于class,還是New class.是dim xxx as class=new class 還是dim xxx as new class
就是這樣VB.NET函數(shù)調(diào)用將更簡單,不須要研究一些很難的東西。
每個 Visual Basic 應用程序均必須包含一個稱為VB.NET Main過程。該過程為應用程序的起始點并為應用程序提供總體控制。.NET Framework 在已加載應用程序并準備將控制傳遞給它時,將調(diào)用 Main 過程。除非您要創(chuàng)建 Windows 窗體應用程序,否則就必須為自運行的應用程序編寫 Main 過程。
Main 中包含首先運行的代碼。在 Main 中,可以確定在程序啟動時首先加載的窗體,確定系統(tǒng)上是否已在運行您的應用程序副本,為應用程序建立一組變量,或者打開應用程序需要的數(shù)據(jù)庫。
VB.NET Main過程的要求
獨立運行的文件(擴展名通常為 .exe)必須包含 Main 過程。庫(例如,擴展名為 .dll)不獨立運行,因而不需要 Main 過程??梢詣?chuàng)建的不同類型的項目的要求如下:
控制臺應用程序可以獨立運行,而且您必須提供至少一個 Main 過程。
Windows 窗體應用程序可以獨立運行。但是,Visual Basic 編譯器會在此類應用程序中自動生成一個 Main 過程,因而您不需要編寫此過程。
類庫不需要 Main 過程。這些類庫包括 Windows 控件庫和 Web 控件庫。作為類庫部署 Web 應用程序。
聲明VB.NET Main過程
有四種方法可以聲明 Main 過程。它可以使用參數(shù)或不使用參數(shù),可以返回值或不返回值。
注意
如果在類中聲明 Main 過程,則必須使用 Shared 關(guān)鍵字。在模塊中,Main 不必是 Shared。
最簡單的方法是聲明一個不使用參數(shù)或不返回值的 Sub 過程。
Module mainModule
Sub Main()
MsgBox("The Main procedure
is starting the application.")
' Insert call to appropriate
starting place in your code.
MsgBox("The application
is terminating.")
End Sub
End ModuleMain
還可以返回一個 Integer 值,操作系統(tǒng)將其作為程序的退出代碼。其他程序可以通過檢查 Windows ERRORLEVEL 值來測試該代碼。若要返回退出代碼,必須將VB.NET Main過程聲明為 Function 過程而不是 Sub 過程。
Module mainModule
Function Main() As Integer
MsgBox("The Main procedure
is starting the application.")
Dim returnValue As Integer = 0
' Insert call to appropriate
starting place in your code.
' On return, assign appropriate
value to returnValue.
' 0 usually means successful
completion.
MsgBox("The application is
terminating with error level " _
CStr(returnValue) ".")
Return returnValue
End Function
End ModuleMain
還可以采用一個 String 數(shù)組作為參數(shù)。數(shù)組中的每個字符串均包含一個用于調(diào)用程序的命令行參數(shù)。您可以根據(jù)它們的值采取不同的操作。
Module mainModule
Function Main(ByVal cmdArgs()
As String) As Integer
MsgBox("The Main procedure is
starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length 0 Then
For argNum As Integer = 0 To
UBound(cmdArgs, 1)
' Insert code to examine cmdArgs
(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate starting
place in your code.
' On return, assign appropriate
value to returnValue.
' 0 usually means successful completion.
MsgBox("The application is
terminating with error level " _
CStr(returnValue) ".")
Return returnValue
End Function
End Module
可以聲明VB.NET Main過程來檢查命令行參數(shù)而不返回退出代碼,如下所示。
Module mainModule
Sub Main(ByVal cmdArgs() As String)
MsgBox("The Main procedure is
starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length 0 Then
For argNum As Integer = 0 To
UBound(cmdArgs, 1)
' Insert code to examine cmdArgs
(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate
starting place in your code.
MsgBox("The application is
terminating."
End Sub
End Module
看來您不了解vb點虐 的程序結(jié)構(gòu)。vb點虐 的Windows方面的工程分為兩種:窗體應用程序和控制臺應用程序。窗體應用程序沒有Main函數(shù),直接從一個窗體啟動(例如啟動對象設置為Form1),啟動時會自動加載Form1.Designer.vb獲得控件信息(窗體設計器自動生成),F(xiàn)orm1.vb獲得你編寫的代碼和事件處理程序??刂婆_應用程序需要從一個Module啟動。一個控制臺應用程序可以含有多個模塊,但啟動時只調(diào)用選擇的啟動對象里面的Sub Main()。