2010-11-02 67 views
0

我可以使用DevExpress控件(本例不重要)。我有一個lookupEdit控件,我從不想讓EditValue_Changed事件觸發。我可以使用RemoveHandler來執行此操作嗎?如果有的話,有人可以給我一個這樣做的代碼示例嗎?我應該將RemoveHandler放入用戶控件的加載事件中嗎?或者它進入lookupControl的EditValue_Changed事件嗎?如何使用刪除處理程序

這是一個Windows的應用未回發....對不起

+0

作者:fire你是說PostBack? – 2010-11-02 18:04:06

回答

1

您可以使用RemoveHandler從您添加到您自己的某個類中的對象的任何事件中。如果事件被定義並在您無權訪問的類中處理,您將無法刪除其處理程序事件。

瞭解EditValue_Changed事件觸發的位置會很有幫助。如果它在應用程序內部觸發,那麼您必須在設計器或代碼中連線它(這意味着您應該能夠毫無困難地調用RemoveHandler)。如果這屬於第三方庫並且是自動配置的,則可能沒有此訪問權限。

0

不能從射擊回發停止控制,但你可以只是沒有線了一個事件處理程序控件的事件。你不需要RemoveHandler來做到這一點;只是不附加到事件......但看起來問題是回發,DevExpress應該有一個功能在那裏發起一個客戶端事件,並保留所有的客戶端,而不必擔心服務器端回發。

如果這沒有幫助,你能解釋一下這個問題嗎?

HTH。

+0

這是一個贏得應用程序沒有回傳...對不起 – 2010-11-02 18:21:21

+0

沒問題。但是,你有什麼潛在的問題?你只是試圖關閉收聽一個事件,或者如果有更大的問題?如果前者,搬運工應該工作;否則,我們需要更多地瞭解要幫助的問題。 – 2010-11-02 18:32:21

+0

只需關閉收聽活動即可。我怎麼做才能爲你提供一段代碼片段。在我想關閉的情況下加載整個表格時也要這樣做。 – 2010-11-02 18:38:22

0

您可能能夠控制該控件的子類並覆蓋觸發EditValue_Changed事件觸發的方法。如果您有權訪問源代碼,請查找其被調用的位置以及是否可以覆蓋該代碼。