Vb.net 使用计时器生成特定的随机生成代码
我想使随机生成的代码时,计时器完成 但是我想使用这个代码Vb.net 使用计时器生成特定的随机生成代码,vb.net,Vb.net,我想使随机生成的代码时,计时器完成 但是我想使用这个代码abcdefghijklomnopqrstuvwxyz012456789 此格式为XXXX-XXXX-XXXX(用随机生成的数字/字母替换X) 我想在这里插入代码 Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick ProgressBar1.Increment(3) If ProgressBar1.Value = 100
abcdefghijklomnopqrstuvwxyz012456789
此格式为XXXX-XXXX-XXXX(用随机生成的数字/字母替换X)
我想在这里插入代码
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(3)
If ProgressBar1.Value = 100 Then
TextBox1.Text = "replace textbox by code"
Timer1.Stop()
End If
End Sub
这里有一个使用LINQ的解决方案
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(3)
If ProgressBar1.Value = 100 Then
Dim chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
Dim random = New Random()
Dim num1 = New String(Enumerable.Repeat(chars, 4).Select(Function(s) s(random.Next(s.Length))).ToArray())
Dim num2 = New String(Enumerable.Repeat(chars, 4).Select(Function(s) s(random.Next(s.Length))).ToArray())
Dim num3 = New String(Enumerable.Repeat(chars, 4).Select(Function(s) s(random.Next(s.Length))).ToArray())
Dim result = num1 & "-" & num2 & "-" & num3
TextBox1.Text = result
Timer1.Stop()
End If
End Sub
这样,您只需将
TextBox1.Text=
更改为指向getNewRandomString()
函数
Private Function getNewRandomString() As String
Dim sb As New StringBuilder
For i = 1 To 3
For j = 1 To 4
sb.Append(getNewRandomLetter())
Next
sb.Append("-")
Next
Return sb.ToString.Trim("-")
End Function
Private Function getNewRandomLetter() As Char
Dim chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
Return (chars(GetRandom(0, chars.Length - 1)))
End Function
Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer
Static Generator As System.Random = New System.Random()
Return Generator.Next(Min, Max + 1)
End Function
那么,你有什么问题?如果你是VB和VB.NET的高手,我强烈建议你学习C#,而不是VB.NET。它比VB.NET流行得多;您将在C#中找到更多的示例代码,并能够在自己的代码中获得更多帮助。编辑:你关于成为noob的评论已经被编辑掉了。它需要多随机?(另外,您的字符列表中还有一个额外的
O
)随机性足够强,很少有相同的代码,感谢您指出我的错误。您如何将代码输入到文本框中?因此,当计时器完成时,随机生成的代码将显示在“只读”文本框中