多个表单处理一个扫描程序事件

时间:2014-10-24 15:31:42

标签: vb.net

我在vb.net中有一个win 7应用程序用于扫描仪数据收集,应用程序首先显示主要表单 - 顶层,这个表单包含很多按钮,点击任何按钮都会转到第二级表单,基于扫描数据输入,3级表格可以从第二级形式显示(此时第二级表格未关闭),关闭第3级表格,你可以在第3级表格中返回第二级表格级别表格并继续在发送级别表格中运行休息程序,关闭第二个表格你可以回到主表单点击另一个按钮去。主窗体只是调用扫描器类初始,它不会处理扫描程序事件。第二级和第三级表单加载具有addhandler语句。无论哪种形式在顶部都将处理扫描仪事件以处理该特定形式的扫描数据,每个表单处理数据的方式不同。 为了保持每个可用表单的扫描程序事件,我将事件放在一个模块中,当扫描程序类读取数据时将引发此事件。当我测试它时,无论第一个可用的表单处理好数据,当表单来回切换时,事件处理程序不再工作,程序冻结或停止工作。我无法弄清楚为什么。我希望你们能给我一些关于什么是处理这种事件的更好方法的建议。 谢谢!

1 个答案:

答案 0 :(得分:0)

在表单中,包含一个处理程序来调用模块中的函数。当表单不再处于活动状态时,卸载表单或删除扫描程序处理程序。如果事件有两个活动处理程序,则可能会导致问题。