[英]Event-Handling buttons on WinForm from a DLL
我編寫了一個C#實用程序類(DLL),該類由Windows應用程序調用。 在Windows應用程序中,我設置了backgrounderWorker以允許耗時的代碼不占用Windows應用程序。 耗時的代碼位於實用程序類DLL中。 現在,我在Windows應用程序上設置了兩個按鈕:“提交”按鈕-在實用程序類中調用了耗時的代碼,並在其中單擊了“取消”按鈕。
我希望單擊“取消”按鈕可以停止backgroundWorker代碼。 問題是Windows應用程序中的“取消”按鈕和DLL中的代碼。 那么,有沒有一種方法可以將“取消”按鈕的“ onClick”事件處理程序附加到DLL,然后讓DLL定期檢查以查看按鈕是否被按下?
順便說一句,取消按鈕的工作直到啟動DLL代碼。
我的想法正確還是有更好的方法? 任何幫助,將不勝感激。
是的,可以注冊項目之間的事件。 您所要做的就是在您的dll中引用Winforms應用程序,並讓“取消”按鈕公開。 那么您可以在dll代碼中注冊任何事件。 但是 ,我不確定這是否是執行所需操作的最佳方法。 我認為一種更好的方法是在dll中有一個名為Cancel的方法,並具有cancel按鈕click事件調用此函數。 這樣,您的dll較少依賴於Winforms應用程序。
實際上,我回頭查看了一些有關事件和事件處理的文檔。 我在DLL中做了以下操作:
在客戶端應用程序中,我執行了以下操作:
現在可以正常工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.