VB編程工具
成都創(chuàng)新互聯(lián)長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為德宏州企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,德宏州網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Visual Basic 6.0簡(jiǎn)體中文版 Visual Basic 6.0綠色精簡(jiǎn)版 MSDN VB6精簡(jiǎn)版
VB入門(mén)教程
VB程序設(shè)計(jì)系列教程 VB 趣味例程 VB6實(shí)例教程
中文VB6傻瓜書(shū) VB最簡(jiǎn)單入門(mén)教程 VB 6.0中文版范例入門(mén)與提高
VB初哥教學(xué) VB編程標(biāo)準(zhǔn) 看實(shí)例學(xué)VB 6.0
VB.NET學(xué)習(xí)教程 VB.NET控件時(shí)尚編程百例 VB 中文版實(shí)用培訓(xùn)教程
VB經(jīng)典編程 VB6循序漸進(jìn)教程 VB 6.0 中文版教程
VB_NET實(shí)例解析與應(yīng)用編程 VB.NET中高級(jí)篇 VB精彩編程200例
VB超級(jí)教程 VB API函數(shù)大全 Visual Basic 6.0實(shí)例教程
VB 6.0數(shù)據(jù)庫(kù)開(kāi)發(fā)學(xué)習(xí)教程 VB.NET數(shù)據(jù)庫(kù)編程從入門(mén)到精通 VB6.0入門(mén)提高
21天學(xué)通Visual Basic.NET Visual Basic.NET實(shí)用全書(shū) Visual Basic.NET學(xué)習(xí)范本
Visual Basic.NET培訓(xùn)教程 Visual Basic實(shí)用編程標(biāo)準(zhǔn) VB學(xué)習(xí)教程
VB的控件的學(xué)習(xí)
VB編程開(kāi)發(fā)技術(shù)
COM+與VB6分布式應(yīng)用程序設(shè)計(jì) Visual Basic 插件開(kāi)發(fā)人員指南 VB.NET高級(jí)開(kāi)發(fā)指南
VB.Net高級(jí)編程 VB.NET 面向?qū)ο罂芍赜媒M件開(kāi)發(fā) Visual Basic精彩編程200例
VB.Net多媒體編程 VB.NET高級(jí)程序員指南 Visual Basic.NET GDI+技術(shù)教程
VB.Net控件應(yīng)用編程實(shí)例教程 VB.NET XML Web開(kāi)發(fā)人員指南 VB和SQL Server編程指南
用VB.NET開(kāi)始Asp.NET1.1的開(kāi)發(fā) VB 游戲編程學(xué)習(xí)系統(tǒng) Visual Basic.NET 編碼技術(shù)
VB.NET面向?qū)ο驝LASS的實(shí)現(xiàn) VB.NET應(yīng)用集錦例程 VB.NET實(shí)例解析應(yīng)用編程
Visual Basic.Net與動(dòng)態(tài)網(wǎng)頁(yè)技術(shù) VB6開(kāi)發(fā)寶典 VB系統(tǒng)資源
VB 例程序講解 VB.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例 VB.NET與數(shù)據(jù)庫(kù)開(kāi)發(fā)教程
VB語(yǔ)言程序設(shè)計(jì) VB.NET面向?qū)ο蟮膶?shí)現(xiàn) Visual Basic 6.0應(yīng)用編程150例
Visual Basic.NET項(xiàng)目開(kāi)發(fā)實(shí)踐 Visual Basic 6.0 開(kāi)發(fā)寶典 Visual Basic 6.0網(wǎng)絡(luò)編程
Visual Basic6.0企業(yè)級(jí)應(yīng)用程序開(kāi)發(fā) Visual Basic6.0數(shù)據(jù)庫(kù)程序設(shè)計(jì) Visual Basic .NET程序設(shè)計(jì)基礎(chǔ)
Visual Basic.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)教程 Visual Basic 6 循序漸進(jìn)教程 VB游戲編程21天自學(xué)通
Visual Basic.NET進(jìn)銷存程序設(shè)計(jì) Visual Basic程序設(shè)計(jì)導(dǎo)學(xué) Visual Basic.NET技術(shù)內(nèi)幕
VB.NET和SOL Server 2000高級(jí)編程 利用VB設(shè)計(jì)打印復(fù)雜報(bào)表 Visual Basic.NET編程基礎(chǔ)
Visual Basic6.0元件程序開(kāi)發(fā)指南 VB.Net網(wǎng)絡(luò)數(shù)據(jù)庫(kù)整合應(yīng)用 Visual Basic或C#創(chuàng)建WS
Visual Basic.NET程序設(shè)計(jì)與應(yīng)用
VB開(kāi)發(fā)手冊(cè)與指南
VB.Net與ASP.Net代碼手冊(cè) VB 6.0中文版語(yǔ)言參考手冊(cè) VB編程經(jīng)驗(yàn)手冊(cè)
VB API 函數(shù)使用手冊(cè) VBA高級(jí)開(kāi)發(fā)手冊(cè) VB速查手冊(cè)之技巧篇
VB.NET Remoting 技術(shù)手冊(cè) VB.Net調(diào)試技術(shù)手冊(cè) Visual Basic 6.0 組件工具指南
VB.Net字符串和正則表達(dá)式參考手冊(cè) VBScript語(yǔ)言參考 VB6程序設(shè)計(jì)參考手冊(cè)
VB技巧問(wèn)答10000例 VB5 開(kāi)發(fā)WEB數(shù)據(jù)庫(kù)指南 VBscript英文幫助手冊(cè)
VB6控件參考手冊(cè) VB6語(yǔ)言參考手冊(cè) VB6程序員指南
VB5開(kāi)發(fā)WEB數(shù)據(jù)庫(kù)指南 VBA 高級(jí)開(kāi)發(fā)指南 VB中文版實(shí)用參考手冊(cè)
VB編程經(jīng)驗(yàn)手冊(cè) VB6組件工具指南 Visual Basic API函數(shù)參考手冊(cè)
Visual Basic 6.0實(shí)用參考手冊(cè) Vsual Basic 6.0 控件參考手冊(cè) Visual Basic.NET類設(shè)計(jì)手冊(cè)
Visual Basic.NET 語(yǔ)言參考手冊(cè) Visual Basic點(diǎn)虐 反射參考手冊(cè) Visual Basic點(diǎn)虐 線程參考手冊(cè)
Visual Basic編程經(jīng)驗(yàn)手冊(cè) Visual Basic.Net專家指南 Visuai Basic.NET編程培訓(xùn)教程
VB速查手冊(cè)之技巧篇 VBscript英文幫助手冊(cè)
VB其它相關(guān)資源
VBSCRIPT函數(shù)方法速查 Visual Basic 第三方控件大全 Visual Basic 語(yǔ)言參考-函數(shù)速查
Access 2003 VBA 程序員參考書(shū) VB、C快速進(jìn)階 V3.0 VB系統(tǒng)資源
VB Script語(yǔ)言參考 VB編程技巧集 VBScript 教程及語(yǔ)言參考
VBScript與JScript實(shí)例教程 VB精華文摘 Visual Basic 術(shù)語(yǔ)解釋
VB常用函數(shù) VBScript學(xué)習(xí) VB學(xué)習(xí)一點(diǎn)通
VB Script基礎(chǔ) VBScript 幫助手冊(cè) Visual Basic 常用數(shù)值算法集
VB視頻相關(guān)
VB編程與應(yīng)用(電大)29講 編程經(jīng)典Visual Basic 用多媒體學(xué)Visual Basic
電子科大--- VB程序設(shè)計(jì) VB點(diǎn)虐 多媒體教學(xué)
1.不正確
Dim abc As myClass,定義一個(gè)可以引用myClass類型對(duì)象的變量abc。這個(gè)abc變量存在于棧上。
abc=New myClass。New myClass創(chuàng)建myClass實(shí)例對(duì)象,這個(gè)對(duì)象存在于托管堆上。然后(同時(shí))讓abc引用(指向)這個(gè)對(duì)象。
abc變量在棧上,而對(duì)象在托管堆上。
abc儲(chǔ)存的是對(duì)象的地址,而不是對(duì)象本身。
看下面的代碼
Dim a As myClass,b As myClass,c As myClass
a=New myClass
b=a
c=a
整個(gè)過(guò)程中只創(chuàng)建了一個(gè)myClass對(duì)象,位于托管堆上。
三個(gè)myClass類型的變量a、b、c位于棧上,都指向了這一個(gè)myClass對(duì)象
2.類的成員分 實(shí)例成員 和 靜態(tài)成員
實(shí)例成員 必須在實(shí)例對(duì)象上調(diào)用
靜態(tài)成員 可以直接調(diào)用,不需要實(shí)例對(duì)象。
一委托:此示例演示如何將方法與委托關(guān)聯(lián)然后通過(guò)委托調(diào)用該方法。
創(chuàng)建委托和匹配過(guò)程
創(chuàng)建一個(gè)名為 MySubDelegate 的委托。
Delegate Sub MySubDelegate(ByVal x As Integer)
聲明一個(gè)類,該類包含與該委托具有相同簽名的方法。
Class class1
Sub Sub1(ByVal x As Integer)
MsgBox("The value of x is: " CStr(x))
End Sub
End Class
定義一個(gè)方法,該方法創(chuàng)建該委托的實(shí)例并通過(guò)調(diào)用內(nèi)置的 Invoke 方法調(diào)用與該委托關(guān)聯(lián)的方法。
Protected Sub DelegateTest()
Dim c1 As New class1
' Create an instance of the delegate.
Dim msd As MySubDelegate = AddressOf c1.Sub1
' Call the method.
msd.Invoke(10)
End Sub
二、事件
下面的示例程序闡釋如何在一個(gè)類中引發(fā)一個(gè)事件,然后在另一個(gè)類中處理該事件。AlarmClock 類定義公共事件 Alarm,并提供引發(fā)該事件的方法。AlarmEventArgs 類派生自 EventArgs,并定義 Alarm 事件特定的數(shù)據(jù)。WakeMeUp 類定義處理 Alarm 事件的 AlarmRang 方法。AlarmDriver 類一起使用類,將使用 WakeMeUp 的 AlarmRang 方法設(shè)置為處理 AlarmClock 的 Alarm 事件。
該示例程序使用事件和委托和引發(fā)事件中詳細(xì)說(shuō)明的概念。
示例
' EventSample.vb.
'
Option Explicit
Option Strict
Imports System
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Namespace EventSample
' Class that contains the data for
' the alarm event. Derives from System.EventArgs.
'
Public Class AlarmEventArgs
Inherits EventArgs
Private _snoozePressed As Boolean
Private nrings As Integer
'Constructor.
'
Public Sub New(snoozePressed As Boolean, nrings As Integer)
Me._snoozePressed = snoozePressed
Me.nrings = nrings
End Sub
' The NumRings property returns the number of rings
' that the alarm clock has sounded when the alarm event
' is generated.
'
Public ReadOnly Property NumRings() As Integer
Get
Return nrings
End Get
End Property
' The SnoozePressed property indicates whether the snooze
' button is pressed on the alarm when the alarm event is generated.
'
Public ReadOnly Property SnoozePressed() As Boolean
Get
Return _snoozePressed
End Get
End Property
' The AlarmText property that contains the wake-up message.
'
Public ReadOnly Property AlarmText() As String
Get
If _snoozePressed Then
Return "Wake Up!!! Snooze time is over."
Else
Return "Wake Up!"
End If
End Get
End Property
End Class
' Delegate declaration.
'
Public Delegate Sub AlarmEventHandler(sender As Object, _
e As AlarmEventArgs)
' The Alarm class that raises the alarm event.
'
Public Class AlarmClock
Private _snoozePressed As Boolean = False
Private nrings As Integer = 0
Private stopFlag As Boolean = False
' The Stop property indicates whether the
' alarm should be turned off.
'
Public Property [Stop]() As Boolean
Get
Return stopFlag
End Get
Set
stopFlag = value
End Set
End Property
' The SnoozePressed property indicates whether the snooze
' button is pressed on the alarm when the alarm event is generated.
'
Public Property SnoozePressed() As Boolean
Get
Return _snoozePressed
End Get
Set
_snoozePressed = value
End Set
End Property
' The event member that is of type AlarmEventHandler.
'
Public Event Alarm As AlarmEventHandler
' The protected OnAlarm method raises the event by invoking
' the delegates. The sender is always this, the current instance
' of the class.
'
Protected Overridable Sub OnAlarm(e As AlarmEventArgs)
RaiseEvent Alarm(Me, e)
End Sub
' This alarm clock does not have
' a user interface.
' To simulate the alarm mechanism it has a loop
' that raises the alarm event at every iteration
' with a time delay of 300 milliseconds,
' if snooze is not pressed. If snooze is pressed,
' the time delay is 1000 milliseconds.
'
Public Sub Start()
Do
nrings += 1
If stopFlag Then
Exit Do
Else
If _snoozePressed Then
System.Threading.Thread.Sleep(1000)
If (True) Then
Dim e As New AlarmEventArgs(_snoozePressed, nrings)
OnAlarm(e)
End If
Else
System.Threading.Thread.Sleep(300)
Dim e As New AlarmEventArgs(_snoozePressed, nrings)
OnAlarm(e)
End If
End If
Loop
End Sub
End Class
' The WakeMeUp class has a method AlarmRang that handles the
' alarm event.
'
Public Class WakeMeUp
Public Sub AlarmRang(sender As Object, e As AlarmEventArgs)
Console.WriteLine((e.AlarmText + ControlChars.Cr))
If Not e.SnoozePressed Then
If e.NumRings Mod 10 = 0 Then
Console.WriteLine(" Let alarm ring? Enter Y")
Console.WriteLine(" Press Snooze? Enter N")
Console.WriteLine(" Stop Alarm? Enter Q")
Dim input As String = Console.ReadLine()
If input.Equals("Y") Or input.Equals("y") Then
Return
Else
If input.Equals("N") Or input.Equals("n") Then
CType(sender, AlarmClock).SnoozePressed = True
Return
Else
CType(sender, AlarmClock).Stop = True
Return
End If
End If
End If
Else
Console.WriteLine(" Let alarm ring? Enter Y")
Console.WriteLine(" Stop Alarm? Enter Q")
Dim input As String = Console.ReadLine()
If input.Equals("Y") Or input.Equals("y") Then
Return
Else
CType(sender, AlarmClock).Stop = True
Return
End If
End If
End Sub
End Class
' The driver class that hooks up the event handling method of
' WakeMeUp to the alarm event of an Alarm object using a delegate.
' In a forms-based application, the driver class is the
' form.
'
Public Class AlarmDriver
Public Shared Sub Main()
' Instantiates the event receiver.
Dim w As New WakeMeUp()
' Instantiates the event source.
Dim clock As New AlarmClock()
' Wires the AlarmRang method to the Alarm event.
AddHandler clock.Alarm, AddressOf w.AlarmRang
clock.Start()
End Sub
End Class
End Namespace