我又累又饿,所以我可能会错过它,但据我所知,现有的帖子中没有涵盖这个...
我正在为一个应用程序编写一个插件。我的插件加载一个表单来专门获取一些数据,它使用网络摄像头扫描条形码。一旦找到条形码,表单就会自行隐藏(以防以后再次需要它)。这就是我目前如何调用执行条形码工作的表单:
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 事件来使其对条形码进行图像检查。
有没有一种优雅的方法可以让调用插件的应用程序等待表单完成?还是我只需要在“眼睛形式”中添加一个接受按钮?
干杯。如果这是转发,我深表歉意。
最佳答案
.ShowDialog(); http://msdn.microsoft.com/en-us/library/c7ykbedk.aspx
“您可以使用此方法在您的应用程序中显示模态对话框。调用此方法时,它后面的代码直到对话框关闭后才会执行。”
关于C# WinForms 等待表单继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078716/