我正在設計一個客戶端測試腳本生成應用程序。應用程序查找提供程序中的每個自動化元素,並向提供程序中的每個自動化元素註冊一個偵聽程序。每當用戶與提供者的UI進行交互時,自動化元素就會觸發記錄在我的應用程序中的事件。 現在,主窗體上的按鈕會觸發事件,但子窗體中的按鈕不會觸發事件。我意識到子窗體按鈕在提供者的代碼中沒有訂閱者。所以我的問題是,如果至少有一個訂閱者,.NET按鈕是否只觸發事件?只有當至少有一個用戶時,.NET按鈕纔會觸發事件嗎?
0
A
回答
3
這有點像問「如果樹落在森林裏,沒有人聽到它,它會發出聲音嗎?」如果你去那裏找,是有人聽到它。
當處理程序連接到.NET事件時,會創建一個集合對象並向其添加委託。當事件發生時,框架會檢查這個集合的存在。當存在時,它的元素被枚舉和調用,否則事件調度會提前終止。
「[D] o如果至少有一個用戶,.NET按鈕只會觸發事件?」
如果通過「火災事件」,您的意思是「調用代表來呼叫事件處理程序」,那麼顯然這隻有在代表代表時纔會發生。顯然,如果沒有任何,那麼他們不能被調用。在「框架看起來爲委託人打電話時,沒有任何」,那麼事件沒有火在沒有處理程序。
+0
是,但淨按鈕元素尋找在單獨的客戶代表應用程序? – user1352399
+0
單獨的應用程序是一個客戶端的方式是什麼? .net遠程處理是我想象的唯一方法,可以將事件處理程序綁定到另一個AppDomain中的某個事件處理程序,並且遠程處理長時間不是推薦的分佈式應用程序技術。 –
相關問題
- 1. 只有*用戶*滾動元素纔會觸發的事件?
- 2. 當我觸摸按鈕時,如何做只有一件事?
- 3. 只有當表單有效時,jQuery纔會觸發事件 - Wordpress - Contact Form 7
- 4. 當用戶點擊輸入按鈕時觸發一個按鈕
- 5. 單擊按鈕時要觸發的事件也會觸發另一個事件
- 6. 只有當鼠標懸停在元素上至少1秒鐘時,才能觸發mouseover事件?
- 7. JavaFX按鈕事件只觸發一次
- 8. 只有當用戶按下按鈕時,纔會顯示輸入鍵盤
- 9. 只有當輸入至少有一個數字時才顯示mat-autocomplete
- 10. 爲什麼所有dropdownlist_SelectedIndexChanged事件只有在點擊按鈕後才觸發?
- 11. 當有多個動態添加的按鈕時,onclick事件不會觸發
- 12. 只有當點擊一個按鈕時事件檢查
- 13. 按鈕點擊事件只觸發一次.NET
- 14. 只有當用戶完成修改文本小部件時,我纔可以觸發事件嗎?
- 15. 類事件觸發只有一個
- 16. 僅當兩個ListView中至少有一個項目(通過WPF觸發器)時啓用按鈕
- 17. 當沒有事件時,TumblingWindow會觸發嗎?
- 18. Android按鈕點擊事件有時不會觸發
- 19. UpdateHandler,只有當觸發器爲true時才做一件事情,Android
- 20. 只有當提交按鈕被按下時,纔會發生動作
- 21. .net按鈕只觸發一次
- 22. ASP按鈕事件沒有觸發到用戶控件UpdatePanel
- 23. 用戶控件按鈕事件沒有觸發
- 24. 僅當至少有一行匹配時才選擇條件
- 25. .NET按鈕事件停止觸發
- 26. Ext.Net按鈕事件沒有觸發
- 27. 表單按鈕事件沒有觸發
- 28. asp.net按鈕沒有觸發事件
- 29. 當添加新按鈕時,jQuery點擊事件不會觸發
- 30. 當使用$()。button('reset')時,單選按鈕更改()事件只觸發一次。
事件不能被解僱,除非有訂閱者(EventHandler將爲空,所以不能被調用)。你的測試腳本的聽衆不要算作訂閱者嗎? –
我很抱歉問,但是當您的應用程序迭代自動化元素的提供者時,是否考慮到了該提供者的子元素或元素的子元素? –
我同意Tim S.在哪裏;我原以爲添加一個監聽器就足以讓對象的事件至少有一個用戶。 –