Vb.net 如何在visual basic中停止和启动文本文件或数据库上运行的数字循环
我需要一个小应用程序,随机洗牌一组预加载的数字。洗牌将在屏幕上显示,并持续(循环)直到按下一个键,一旦发生,它将显示中奖号码。 我正在使用visual Basic 2008开发应用程序,但我的问题是,当我启动应用程序并按下某个键时,它会在文本文件中循环显示我的数字,它也会显示事件,但如果我按下某个键停止,它将不会停止…需要帮助吗 我正在开发这个应用程序,但我的问题是如何停止循环并用按键继续。下面是应用程序代码 按布尔值运行的Dim=FalseVb.net 如何在visual basic中停止和启动文本文件或数据库上运行的数字循环,vb.net,loops,Vb.net,Loops,我需要一个小应用程序,随机洗牌一组预加载的数字。洗牌将在屏幕上显示,并持续(循环)直到按下一个键,一旦发生,它将显示中奖号码。 我正在使用visual Basic 2008开发应用程序,但我的问题是,当我启动应用程序并按下某个键时,它会在文本文件中循环显示我的数字,它也会显示事件,但如果我按下某个键停止,它将不会停止…需要帮助吗 我正在开发这个应用程序,但我的问题是如何停止循环并用按键继续。下面是应用程序代码 按布尔值运行的Dim=False Sub ReadAccounts() Di
Sub ReadAccounts()
Dim arr As New ArrayList
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-11111")
arr.Add("1366-665885-666-22650")
arr.Add("1366-665885-666-22650")
Try
Dim rnd As New Random
For i As Integer = 0 To arr.Count - 1
Dim Disarray As String = arr(i).ToString()
System.Threading.Thread.Sleep(100) ' set sleep time
lblAccounts.Text = Disarray
lblAccounts.Update()
Application.DoEvents()
Next
If Running Then
Running = False
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
' e.Handled = True
End Sub
Private Sub Form2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
If System.Char.IsWhiteSpace(e.KeyChar) = True Then
If Running Then
Running = False
Else
Running = True
ReadAccounts()
End If
End If
End Sub
首先,我将把文件中的数字加载到数组或列表中,而不是在循环中不断地从文件中读取 然后它取决于你的项目类型。如果它是一个控制台应用程序,我会测试每个循环是否有按键:
If Console.KeyAvailable Then
'terminate your loop
End If
我还将在循环中包含一个System.Threading.Thread.Sleep()
,以控制数字的显示频率。否则,您的电脑将变得无响应
如果它是一个WinForms应用程序,那么您可以使用
System.Windows.Forms.Timer
。您可以将其放置在窗体上,并在“属性”窗口中进行配置。为计时器的Tick事件添加一个事件处理程序(很像为按钮添加一个click事件处理程序),您将在其中放置显示下一个随机数的代码。根本不需要循环。这样,您的应用程序将始终保持响应。控制台应用程序?WinForms?等等。发布你的代码也会有帮助。循环可能会阻止从控制台/应用程序读取的任何输入,直到它完成。是的,但现在我无法停止循环,循环也从最后一个数字开始,下面是我的代码。