Imports System
Imports System.Net
Imports System.IO
Imports System.Threading.Thread
Public Class Form1
Public errorz As String
Public votestatus As String
Public videoid As String
Public votetries As String
Public Sub Main()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If RadioButton1.Checked Then
votestatus = "YES"
End If
If RadioButton2.Checked Then
votestatus = "NO"
End If
videoid = TextBox1.Text
votetries = TextBox2.Text
For i As Integer = 1 To votetries Step 1
MsgBox("Hi")
Sleep(5000)
Next
End Sub
End Class
现在发生的是它运行,并在循环中冻结。
点击时我想要另一个按钮会停止循环。
此外,睡眠功能似乎不起作用,因为我每毫秒都会收到“嗨”警报。
答案 0 :(得分:2)
你必须在后台线程中运行long操作才能阻止UI线程,例如c#中的BackgroundWorker类,不知道它是否在vb中可用。
答案 1 :(得分:0)
您可以在VB中使用BackgroundWorker。
或者,如果您需要确保在循环执行时处理按钮,则可以在循环内添加application.doevents
。您可以对要用于中断循环的按钮使用事件处理程序,并设置循环可以检查的标志变量。