偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

快捷簡單的VB.NET編程事件方法介紹

開發(fā) 后端
文章介紹了VB.NET編程,列舉了對事件的例子,在實現(xiàn)中使用事件的回調(diào)設(shè)計需要的所有步驟,看完本為你會發(fā)現(xiàn)你對事件編程有更深成的理解。

看一個關(guān)于VB.NET編程的例子,在這里呢我使用另一種方法來說明當你建立和注冊一個事件處理程序時到底發(fā)生了什么事情。一旦你明白事情是怎么回事,你也許會感激使用了更簡潔的語法實現(xiàn)了相同的目標,一起來看看吧:

  1. '建立銀行帳號對象  
  2. Dim account1 As New BankAccount()  
  3. '注冊事件處理程序  
  4. AddHandler account1.LargeWithdraw, AddressOf AccountHandlers.LogWithdraw  
  5. AddHandler account1.LargeWithdraw, AddressOf AccountHandlers.GetApproval  

因為AddHandler語句期待一個委托對象作為第二個參數(shù),你能使用速記語法--AddressOf操作符后緊跟目標處理方法的名字。當Visual Basic .NET編譯器看到該語法時,它接著產(chǎn)生額外的代碼來建立作為事件處理程序服務(wù)的委托對象。VB.NET編程語言中的AddHandler語句的補充是RemoveHandler語句。RemoveHandler需要的參數(shù)與AddHandler的相同,它的效果相反。它通過事件源調(diào)用remove_LargeWithdraw方法從已注冊的處理方法列表中刪除目標處理方法。

  1. Dim account1 As New BankAccount()  
  2. '注冊事件處理程序  
  3. AddHandler account1.LargeWithdraw, AddressOf AccountHandlers.LogWithdraw  
  4. '刪除事件處理程序注冊  
  5. RemoveHandler account1.LargeWithdraw, AddressOf AccountHandlers.LogWithdraw   

你已經(jīng)看到了實現(xiàn)使用事件的回調(diào)設(shè)計需要的所有步驟了。代碼顯示了一個完整的應(yīng)用程序,在該程序中已經(jīng)注冊了兩個事件處理程序從BankAccount對象的LargeWithdraw事件接收回調(diào)通知。

  1. Delegate Sub LargeWithdrawHandler(ByVal Amount As Decimal)  
  2. Class BankAccount  
  3. Public Event LargeWithdraw As LargeWithdrawHandler  
  4. Sub Withdraw(ByVal Amount As Decimal)  
  5. '如果需要的話就發(fā)送通知  
  6. If (Amount > 5000) Then  
  7. RaiseEvent LargeWithdraw(Amount)  
  8. End If  
  9. '執(zhí)行撤消  
  10. End Sub  
  11. End Class  
  12. Class AccountHandlers  
  13. Shared Sub LogWithdraw(ByVal Amount As Decimal)  
  14. '把撤消信息寫入日志文件  
  15. End Sub  
  16. Shared Sub GetApproval(ByVal Amount As Decimal)  
  17. '阻塞直到管理者批準  
  18. End Sub  
  19. End Class  
  20. Module MyApp  
  21. Sub Main()  
  22. '建立銀行帳號對象  
  23. Dim account1 As New BankAccount()  
  24. '注冊事件處理程序  
  25. AddHandler account1.LargeWithdraw, _  
  26. AddressOf AccountHandlers.LogWithdraw  
  27. AddHandler account1.LargeWithdraw, _  
  28. AddressOf AccountHandlers.GetApproval  
  29. '做一些觸發(fā)回調(diào)的事情  
  30. account1.Withdraw(5001)  
  31. End Sub  
  32. End Module   


結(jié)論

盡管使用事件的動機和一些語法與早期版本的VB.NET編程相比仍然沒有改變,但是你不得不承認情況有很大不同了。你能看到,你對如何響應(yīng)事件的控制力比以前大多了。如果你將使用委托編程,這就很實際了。

【編輯推薦】

  1. 講述VB.NET實現(xiàn)拖動圖片
  2. 簡單講解VB.NET ListBox控件
  3. 淺析VB.NET語言與VB語言對比
  4. 你是否了解VB.NET集成開發(fā)環(huán)境
  5. 深入分析VB.NET條件語句中的兩類
責任編輯:田樹 來源: 樂博網(wǎng)
相關(guān)推薦

2009-10-23 17:03:18

VB.NET事件編程

2009-11-04 09:32:12

VB.NET Auto

2009-10-12 13:19:14

VB.NET線程同步

2009-11-10 10:28:20

VB.NET誕生

2010-01-22 17:22:49

VB.NET事件訪問器

2010-01-22 10:41:33

VB.NET聲明結(jié)構(gòu)

2009-11-10 12:42:47

VB.NET Prin

2010-01-07 15:25:11

VB.NET數(shù)組

2010-01-07 16:40:13

VB.NET一維數(shù)組

2009-08-18 16:57:24

VB.NET和C#

2009-11-02 10:36:16

VB.NET Sub

2010-01-07 10:46:27

VB.NET Sock

2010-01-08 13:35:35

VB.NET寫Log方

2010-01-15 18:12:28

VB.NET超鏈接

2010-01-15 19:17:23

2010-01-21 17:58:40

VB.NET List

2010-01-12 18:12:58

VB.NET事件

2010-01-07 18:17:00

VB.NET連接SAP

2010-01-15 10:56:50

VB.NET繼承實現(xiàn)多

2010-01-12 16:30:21

VB.NET數(shù)據(jù)轉(zhuǎn)換
點贊
收藏

51CTO技術(shù)棧公眾號