我是vb的新手,我有3个文本框,当用户点击表单中的特定按钮时,我想将其设置为随机值:
这是代码:
Private Sub cmdjouer_Click(Index As Integer)
txt1 = Math.Randomize(9)
txt2 = Math.Randomize(9)
txt3 = Math.Randomize(9)
End Sub
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
expected function or variable
我确信问题在于Randomize函数.
任何想法将不胜感激
Ste*_*art 10
您将VB.NET与VB6混淆.它们彼此截然不同.将来,当您在线查找示例,文档和帮助时,请务必指定VB6以确保您正在使用正确的语言.它们本质上是两种完全不同的语言.
在VB6中,您需要使用该Randomize函数初始播种随机数生成器.然后,要生成随机数,您必须使用该Rnd函数,例如:
Private Sub cmdjouer_Click(Index As Integer)
Randomize()
txt1.Text = Int((Rnd * 9) + 1)
txt2.Text = Int((Rnd * 9) + 1)
txt3.Text = Int((Rnd * 9) + 1)
End Sub
Run Code Online (Sandbox Code Playgroud)
Math.Randomize是智能个人对象技术(SPOT)命名空间中的方法.我怀疑这是你真正想要的.您可能只想使用System.Random该类,如下所示:
Private Sub cmdjouer_Click(sender As Object, e As EventArgs) Handles cmdjouer.Click
Dim r As New Random()
txt1.Text = r.Next(9).ToString()
txt2.Text = r.Next(9).ToString()
txt3.Text = r.Next(9).ToString()
End Sub
Run Code Online (Sandbox Code Playgroud)
正如其他人指出的那样,您不希望将文本框引用变量设置为数字(例如txt1 = ...).您需要设置Text文本框的属性.
另外,正如下面的评论中所指出的,我在按钮的事件中调用Randomize或创建了New Random对象Click.我这样做是为了简化示例,但实际上,这将是不好的做法.在任何一种情况下,理想情况下,随机数发生器的播种应该只发生一次,通常是在应用程序启动时.通过每次重新播种发生器,可以使结果不那么随机.