我在vb.net中有一个用于扫描仪数据采集的win 7应用程序,该应用程序首先显示主窗体--顶层,此窗体包含很多按钮,单击任何按钮都会转到第二级窗体,根据扫描的数据输入,3级窗体可以显示从一个点的第二级窗体(第二级窗体此时未关闭),关闭第三级窗体,您可以在该点返回到第二级窗体它是为第三级窗体,并继续运行rest程序在发送级别窗体,关闭第二级窗体,您可以返回到主窗体,单击另一个按钮进行操作。Main窗体只调用scanner类来初始化,它不会处理scanner事件。第二级和第三级表单加载有addhandler语句。无论哪个表单位于顶部,都会处理扫描器事件来处理该特定表单中的扫描数据,每个表单都会以不同的方式处理该数据。为了保存每个可用表单的scanner事件,我将事件放在一个模块中,当scanner类读取数据时将引发此事件。当我测试它时,无论第一个可用的表单能很好地处理数据,当表单来回切换时,事件处理程序都不再工作,程序冻结或停止工作。我想不出为什么。我希望你们能给我一些建议,什么是更好的方式来处理这种事件。谢谢!
发布于 2014-10-25 00:10:53
在表单中,包含一个处理程序来调用模块中的函数。当表单不再处于活动状态时,卸载表单或删除扫描仪处理程序。如果一个事件有两个活动的处理程序,则可能会导致问题。
https://stackoverflow.com/questions/26551233
复制相似问题