在while循环运行时如何按下按钮?

时间:2011-12-15 05:10:57

标签: c#

我在机器视觉项目中工作。在我的项目中,我使用相机进行打印检查。 在我的应用程序中,我使用一个图片框在屏幕上显示图像和两个按钮。在两个按钮中,一个按钮用于实时显示,另一个按钮用于全屏。使用liveisplay按钮,我在一个while循环中在picturebox中显示图像。同时在while循环过程中我必须按全屏按钮。但是我不能按全屏按钮,因为当循环运行时它不允许我按下表单的任何按钮。 (循环是一段时间)为什么会发生这种情况?如何在循环运行时单击此按钮?

2 个答案:

答案 0 :(得分:3)

欢迎来到多线程的精彩世界。您需要将while循环放在单独的线程上,以便您的UI保持响应。线程是一个漫长而深刻的概念,有一百万种方法可以做到。

可能路径阻力最小的是使用BackgroundWorker线程模型。有关详细信息,请参阅here

答案 1 :(得分:1)

一个解决方案可能不是运行while循环;使用具有一定间隔的计时器并在计时器刻度上更新图片框中的图像。当用户单击Liveupdate按钮时,您可以启动计时器。您可以将间隔保持在非常低的范围内(例如100毫秒),以便您的更新能够让您感受到生活。当应用程序可以为其他用户操作(如其他按钮单击)输入输入时,这将在两次更新之间给出一些间隔。