日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vb和vb.net事件机制

發布時間:2023/12/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vb和vb.net事件机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習java事件前,回顧了下vb6和vb.net的事件機制,總結在這里,供對比用。

??? 事件是面對對象中對象間通信的方法。事件發生者(又叫事件源)發生一個事件時,通過發送一條消息,給事件接受者(事件處理者),事件接受者可以做出響應的處理。比如在某登錄界面中,單擊一個按鈕,系統會驗證用戶的用戶名和密碼是否正確。用戶單擊按鈕后,按鈕(事件源)發出了單擊事件,產生了自己被單擊的消息給窗體,窗體(事件接受者)在自身代碼窗口中進行響應的處理。

?

我們分別看下在vbvb.net中是怎么實現事件機制的。

??? 在vb6中,使用Event關鍵字定義事件,raiseEvent發出事件消息,在接受者的類中使用WithEvent表明自己是某個類的事件的接受者,我們看這樣兩段代碼:

??? 首先建立一個窗體,是一個登錄窗體,輸入用戶名和密碼后,點擊登陸按鈕可以登陸,代碼(vb6)如下,使用了WithEvent來接收驗證類(verifyClass)的消息:

?

Option Explicit'本句代碼表明該窗體能接受驗證類的事件消息 Private WithEvents vfClass As VerifyClassPrivate Sub cmdLogin_Click()'定義用戶名和密碼Dim userName As StringDim password As String'定義返回結果Dim Result As BooleanSet vfClass = New VerifyClassuserName = txtUserName.Textpassword = txtPassword.Text'將用戶名和密碼傳到驗證類進行驗證Result = vfClass.Verify(userName, password)End SubPrivate Sub Form_Load()End Sub'引發驗證失敗事件后,在此處可以進行相應處理 Private Sub vfClass_loginFail(ByVal userName As String)MsgBox (userName + "登錄失敗") End Sub '驗證成功事件 Private Sub vfClass_LoginSuccess(ByVal userName As String)MsgBox (userName + "登錄成功") End Sub

接下來添加一個類模塊,是登陸窗體中用到的驗證類(verifyClass)的代碼,里面定義(Event)了并引發(raiseEvent)了事件:

?

?

Option Explicit'定義驗證成功和失敗的事件 Public Event LoginSuccess(ByVal userName As String) Public Event loginFail(ByVal userName As String)'驗證方法:對用戶名和密碼進行驗證 Public Function Verify(ByVal userName As String, ByVal password As String) As BooleanDim blnResult As BooleanIf userName = "123" And password = "123" Then'如果正確,發出登陸成功的消息RaiseEvent LoginSuccess(userName)blnResult = TrueElse'錯誤則發出登陸失敗的消息RaiseEvent loginFail(userName)blnResult = FalseEnd IfVerify = blnResultEnd Function

?


vb.net中事件的實現機制同vb基本相同,并且有了優化,通過Handles關鍵字,使事件實現的機制更靈活,handles可以使多個事件到同一個事件處理程序:

?

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button3.ClickSystem.Windows.Forms.MessageBox.Show("我被觸發了") End Sub

?

?

也可以通過AddHandler動態的綁定事件處理程序,即可以根據當時的條件選擇將要綁定的事件處理程序,看下面這個例子。

首先定義一個person類,有走路這個事件,在走路方法中觸發走路事件

?

Public Class PersonPublic Event walked(ByVal Distance As Integer)Public Sub walk(ByVal Distance As Integer)RaiseEvent walked(Distance)End SubEnd Class


接下來新建一個窗體類,窗體上有一個文本框和一個按鈕,代碼如下

?

?

Public Class Form1'本句代碼表明該窗體能接受驗證類的事件消息Public WithEvents objPerson As PersonPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.ClickobjPerson = New Person()'滿足條件下才執行綁定操作If (TextBox1.Text = "1") Then'滿足條件,執行動態綁定,將事件綁定到某方法,該方法轉變成事件處理程序AddHandler objPerson.walked, AddressOf Person_walkobjPerson.walk(50)ElseSystem.Windows.Forms.MessageBox.Show("您輸入的文本不是1")End IfEnd Sub'觸發的事件將綁定到本事件處理程序Public Sub Person_walk(ByVal Distance As Integer)System.Windows.Forms.MessageBox.Show("a person walked" + Distance.ToString() + " kilometer!")End SubEnd Class


這就是vb和vb.net的事件處理機制,等學了java事件機制后將進行對比。

?



轉載于:https://www.cnblogs.com/snake-hand/p/3155433.html

總結

以上是生活随笔為你收集整理的vb和vb.net事件机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三级做爰在线观看视频 | 在线免费看av网站 | 香港av在线 | 深喉口爆一区二区三区 | 日韩视频播放 | 亚洲精品在线观看av | 高清一区在线观看 | 看中国毛片| 欧洲亚洲激情 | 性欧美17一18内谢 | 嫩草研究院在线 | 音影先锋av资源 | 中文字幕在线看高清电影 | 福利社区一区二区 | 日韩美一区二区三区 | 99久久国产热无码精品免费 | 国内av网 | 精品国产鲁一鲁一区二区三区 | 麻豆www.| 中文字幕不卡视频 | 欧美在线一 | 美女被艹视频网站 | 欧美性受xxxx黑人xyx性 | yy77777丰满少妇影院 | 国产精品丝袜黑色高跟 | 欧美又粗又长 | 九热视频在线观看 | 美女啪啪网| 日韩精品久久久久久久 | 91波多野结衣 | 美女天天操 | 91视频免费视频 | 中文字幕一区二区三区人妻电影 | 国内久久精品视频 | 亚洲精品偷拍视频 | 爱色成人网 | 杂技xxx裸体xxxx欧美 | 成人欧美一区二区三区小说 | av片一区二区 | 久久公开视频 | 国产又爽又黄又嫩又猛又粗 | 欧美日韩亚洲不卡 | 国产第4页| 舐丝袜脚视频丨vk | aa一级片| 欧美另类一区 | 在线观看精品国产 | 色哟哟入口 | 国产网站在线免费观看 | 亚洲AV成人无码电影在线观看 | 在线视频三区 | 天躁夜夜躁狼狠躁 | 日日操夜夜爽 | 色老板精品凹凸在线视频观看 | 精品乱码久久久久久中文字幕 | av免费大全| 娇喘顶撞深初h1v1 | 亚洲激情一区 | 久久久123| 96在线视频| 天天干视频在线观看 | av这里只有精品 | 久在线观看 | 午夜视频精品 | 欧美成人专区 | 女同毛片一区二区三区 | 国产欧美一区二区精品性色99 | 好吊色视频一区二区三区 | 三级中文字幕在线 | 日本草草影院 | 欧美黄色免费视频 | 欧美另类在线观看 | 少妇人妻精品一区二区三区 | 国产精品老熟女视频一区二区 | 超碰97国产在线 | 亚洲风情亚aⅴ在线发布 | 国产一及片 | 天堂av官网 | 兔费看少妇性l交大片免费 日韩高清不卡 | 国精产品一区一区三区有限公司杨 | 久久图库 | 一区二区三区精品免费视频 | 91九色国产ts另类人妖 | 蜜桃精品噜噜噜成人av | 91麻豆精品在线 | 奇米影视第四色888 免费观看a毛片 | 伊人久久天堂 | 麻豆免费在线 | 亚洲免费国产 | 国产精品3区 | 色婷婷视频 | avav国产 | 欧美成人一区二区视频 | 偷拍精品一区二区三区 | 国产欧美精品一区二区色综合朱莉 | 日韩免费观看视频 | 久久精品99 | 亚洲欧美中文字幕 | 丰满圆润老女人hd |