在VB.Net中添加延迟&;排序错误-';应用程序';含糊不清

在VB.Net中添加延迟&;排序错误-';应用程序';含糊不清,vb.net,syntax,compiler-errors,delay,canoe,Vb.net,Syntax,Compiler Errors,Delay,Canoe,我需要在代码中添加几秒钟的延迟,为此我使用了以下代码: Private Sub waitInMilliSeconds(ByVal interval As Integer) Dim stpwt As New Stopwatch stpwt.Start() Do While stpwt.ElapsedMilliseconds < interval ' To allows UI to remain responsive an

我需要在代码中添加几秒钟的延迟,为此我使用了以下代码:

Private Sub waitInMilliSeconds(ByVal interval As Integer)
        Dim stpwt As New Stopwatch
        stpwt.Start()
        Do While stpwt.ElapsedMilliseconds < interval
            ' To allows UI to remain responsive and process other threads
            Application.DoEvents()
        Loop
        stpwt.Stop()
End Sub
Private Sub waitin毫秒(ByVal间隔为整数)
将stpwt调暗为新秒表
stpwt.Start()
当stpwt.ElapsedMilliseconds<间隔时执行
'允许UI保持响应并处理其他线程
Application.DoEvents()
环
stpwt.Stop()
端接头
在我加入“进口独木舟”之前,它一直运作良好。之后,我开始收到错误消息,用于第-行应用程序.DoEvents()。错误消息是:

“应用程序”不明确,是从名称空间或类型导入的 “CANoe,System.Windows.Forms”

有人能帮我解决这个问题吗?或者用另一种方式增加延迟

附言:

  • 我是一名基础程序员&不是VB.NET方面的专家,所以请发表评论 对我来说很有价值
  • 我正在使用Microsoft Visual Basic 2010快速版
  • 我使用独木舟在CAN总线上发送一些CAN信号
  • 我想插入一个延迟,它将允许在中执行其他线程 并行(例如:我有一个处理程序,只要有 从COM端口传入的数据。我不希望在呼叫时停止此操作 (延迟函数)

谢谢。

请不要使用
Application.DoEvents()
。要将代码延迟一段时间,可以使用
Thread.Sleep(*以毫秒为单位传递值*)
。您可以使用
多线程
以及
调用
/
BeginInvoke
控件来保持UI响应,而不是使用
Application.DoEvents()
来保持UI响应。谷歌it,有很多关于同一个问题的文章,即使很多年后人们仍然在某处找到
DoEvents()
解决方案。他们需要被移除!使用
Application.DoEvents()
是非常糟糕的做法,请阅读:。就像已经建议您应该使用多线程或。当需要从后台线程/任务访问UI控件时,请使用
Control.Invoke()
Control.BeginInvoke()
。有关更多信息,请参阅:。@VisualIncent:谢谢您的评论。我正在检查你的建议。@Nobody:谢谢你的评论。我正在核实你的建议。