我又累又饿,所以我可能会想念它,但是从我看来,没有现有的文章涵盖这件事...
我正在为应用程序编写插件。我的插件加载了一个表单来专门获取一些数据,它使用网络摄像头扫描条形码。一旦找到条形码,表单就会隐藏起来(以防以后再次需要)。这是我目前如何调用条形码工作形式的方式:
string readData = null;
if (eye == null)
{
System.Windows.Forms.Application.EnableVisualStyles();
eye = new CamView();
}
eye.Show();
if (eye.found)
{
readData = eye.readData;
}
return readData;
所以,我的问题是eye.show()不会阻塞。它使表格出现并继续进行,直到有机会出现条形码。我想我需要使用某种形式的线程或锁定,但是我的粗暴尝试只是完全冻结了接口。
“眼睛”形式基本上只是网络摄像头的取景器,它依靠camera_OnImageCapture事件来进行条形码的图像检查。
有没有一种优雅的方法可以使调用插件的应用程序等待表单完成?还是只需要在“眼睛表格”中添加一个接受按钮?
干杯。如果这仍然是转贴,请对此致以歉意。
最佳答案
您走在正确的轨道上。您更改代码以将CamView显示为模式对话框,但不添加“接受”按钮。而是更改camera_OnImageCapture以关闭对话框。