C# WinForms 等待表单继续

标签 c# winforms multithreading wait

我又累又饿,所以我可能会错过它,但据我所知,现有的帖子中没有涵盖这个...

我正在为一个应用程序编写一个插件。我的插件加载一个表单来专门获取一些数据,它使用网络摄像头扫描条形码。一旦找到条形码,表单就会自行隐藏(以防以后再次需要它)。这就是我目前如何调用执行条形码工作的表单:

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/

相关文章:

python - Python 中带有包装 C 函数的多线程

c - 为什么网络连接中断会导致 stdin 上出现 EOF?

c++ - tcp通信的线程

c# - 使用 XMLHttpRequest 发布到 ASP.Net Core WebAPI 时出现错误 415

c# - 在 .NET 中如何命名这些相关的属性、类、参数和字段?

c# - 如何捕获 Windows Azure(辅助)角色中未处理的异常

c# - 在 Windows 窗体 C# 应用程序的配置文件中设置值

c# - 连接数据库中的 Crystal Reports

c# - 将 stringbuilder 中的 null 值转换为 "not available"字符串

c# - C# 开发人员在使用 WPF 之前应该了解什么