[英]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.