VB中自定義事件和事件處理

2021-06-07 04:01:52 字數 2521 閱讀 8102

乙個包含事件的類:clswithevents

clswithevents類中,有兩個屬性width和height,這兩個屬性改變時會分別觸發對應的changed事件。

在 public event 宣告了兩個事件委託的原型

public class clswithevents

private mwidth as integer

private mheight as integer

' 事件委託的原型

public event widthchanged(byval newwdith as integer)

public event heightchanged(byval newheight as integer)

public property width() as integer

getreturn mwidth

end get

set(byval value as integer)

if value <> mwidth then

raiseevent widthchanged(value) ' 觸發widthchanged事件

end if

mwidth = value

end set

end property

public property height() as integer

getreturn mheight

end get

set(byval value as integer)

if value <> mheight then

raiseevent heightchanged(value) ' 觸發heightchanged事件

end if

mheight = value

end set

end property

end class

事件的兩種不同處理方法:

方法一、withevents關鍵字

public class form1

private withevents objclswithevents as new clswithevents

private sub objclswithevents_heightchanged(byval newheight as integer) _

handles objclswithevents.heightchanged

' 處理 objclswithevents 的 heightchanged 事件

end sub

private sub objclswithevents_widthchanged(byval newwdith as integer) _

handles objclswithevents.widthchanged

' 處理 objclswithevents 的 widthchanged 事件

end sub

private sub button1_click(byval sender as system.object, _

byval e as system.eventargs) handles button1.click

objclswithevents.width = 200

objclswithevents.height = 200

end sub

end class

方法二、addhandler關鍵字

public class form1

private sub clswithevents_heightchanged(byval newheight as integer)

' 處理 clswithevents 物件的 heightchanged 事件

end sub

private sub clswithevents_widthchanged(byval newwdith as integer)

' 處理 clswithevents 物件的 widthchanged 事件

end sub

private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click

dim objclswithevents as new clswithevents

addhandler objclswithevents.heightchanged, addressof clswithevents_heightchanged

addhandler objclswithevents.widthchanged, addressof clswithevents_widthchanged

objclswithevents.height = 200

objclswithevents.width = 200

end sub

end class

C 事件處理和自定義事件

本文分析了c 中事件處理並且舉例自定義事件。首先我們需要定義乙個類來監聽客戶端事件,這裡我們監聽鍵盤的輸入。c 事件處理 了解c 中的預定義事件處理機制 在寫 前我們先來熟悉.net框架中和事件有關的類和委託,了解c 中預定義事件的處理。eventargs是包含事件資料的類的基類,用於傳遞事件的細節...

js自定義事件和jQuery自定義事件

1.簡述 js自定義事件是用來擴充套件dom元素的行為的,可以讓dom元素監聽自定義事件,並手動觸發,更加靈活地實現一些操作。jquery自定義事件使用場景更加廣泛一些,不僅限於dom監聽自定義事件,可以任意自定義事件並隨時觸發。用於實現觀察者模式,為大型專案解耦非常方便。2.js自定義事件,js可...

C 自定義事件處理

一 事件不具有特定資料的事件定義 1 在類中定義公共事件成員 public event eventhandler myevent 2 在引發事件的類中提供乙個受保護的方法 protected virtual void onmyevent eventargs e 二 事件具有特定資料的事件定義 你知道...