VB.net无限循环/中断驱动



我还是VB.net的新手,我正在尝试编写一个程序,它可以不断地监视从PLC中提取的信息,并在信息发生变化时进行更新。

我用过一些微控制器,我知道制作无限循环效果很好。我在VB.net代码中遇到的问题是,当它循环时,表单基本上会冻结,标签永远不会更新。我尝试使用下面的代码。

Do While True
        *Code*
    Loop

所以,我想我的第一个问题是,有一个连续的程序来更新数据的最佳方法是什么。似乎无限循环并不是答案。

我的第二个问题是,像微控制器一样,VB.net是否可能是一个中断驱动的程序,而不是一个事件驱动的程序。我的程序总是在运行,在数据进入时更新数据,但如果按下按钮,它基本上可以脱离循环。或者我想的是,暂时离开循环来执行另一个函数,然后继续回到循环中。

我看过System.Timers命名空间,但并不是100%清楚它们是如何工作的。这似乎是我问题的潜在答案。如果我有一个每隔一秒执行一次代码的计时器,那么只要表单运行正确,这一秒就会发生吗?假设前面的语句是正确的,如果代码从1秒开始运行,并且在该代码运行时按下了一个按钮,则该按钮将被忽略,还是该事件将在代码完成后发生。

任何能帮助我学习的东西都将不胜感激!

您可以使用

Application.DoEvents()

-方法,它本质上更新您的表单,以应用在此期间发生的所有更改。

最新更新