自定義事件的使用心得

2021-05-22 01:41:06 字數 834 閱讀 2726

由於工作關係,只能簡單整理下曾經做專案的心得,這裡先談談as3.0的自定義事件。

對初學者可能感覺自定義很複雜,但等你克服恐懼真的用多了的話就會發覺其實自定義事件很簡單,但正是簡單的它可以讓你的程式更靈活。

首先開啟乙個flex專案 新建乙個as類 讓他繼承event,自動會生成一下**:

其中type是事件名 bubbles是是否冒泡,cancelable是指示是否可以組織事件物件預設行為。

對於不需要的引數可以去除,重寫建構函式。如下:

我自己定義了3個需要傳遞的引數,同時重寫建構函式,這樣乙個自定義事件就完成了,是不是很簡單。

知道怎麼定義, 讓我們看看怎麼使用:

平時我們派發事件是用event: dispatchevent(new event("type"));

自定義事件繼承了event,同樣的:dispatchevent(new myevent("type",1,"1",false)); 

是不是也很簡單

那它能為我們帶來什麼方便呢?

1。event只能做到事件的派發與接收,不能做到靈活的資料傳遞,而自定義事件可以很容易的彌補這一不足。

2。event只能通過target和currenttarget得到事件物件,而有時候他們中沒有乙個是你想要的事件物件,那怎麼辦呢?自定義事件可以很方便的解決這一問題,在自定義事件內定義屬性o:object,在事件派發的時候把想要得到的事件物件作為引數派發出去,這樣你就可以在接受事件的時候通過evt.o得到你想要的物件了。

習慣使用自定義事件你會發現flex的事件機制不再那麼神秘。

ps:當然儘管方便,但如無必要盡量使用event,因為過多的自定義事件會讓你的**繁雜不堪。總之幹什麼都要適度

關於動態新增自定義控制項的使用心得

1.父頁面需要用viewstate記錄所載入的使用者控制項,在page load時載入。2.載入的控制項id一定要相同,這是最容易出現事件丟失等錯誤的地方。3.每個用控制項上也需要用viewstate記錄自身所需要的引數。4.先新增再設定相關屬性,否則會造成事件或狀態丟失。在乙個動態載入的控制項中,...

自定義事件的使用例程

自定義事件的使用例程 這段程式運用乙個sever類設計乙個聊天室 此類為伺服器類 用於與客戶端的通訊,其中構造了幾個自定義事件 using system using system.net using system.net.sockets using system.threading namespac...

使用C 的自定義事件

public class cardealer has come.car if newcarinfo null newcarinfo car 先插入一段 這個例子的 action表示只有乙個 string 引數,如果有一組的引數的話,寫起來會比較難看。net 給我們提供了基於 eventargs 來進...