我一直在尝试使用VB6中的文本框来获取用户选择的6个不同的随机数,以便在我的程序中使用。我在代码的不同区域尝试了许多不同的方法。我到目前为止最好的是在按键部分。我设置了一个数组存储6个条目购买失败,能够通过在第一个元素中存储一个数字。我正在使用for for循环遍历元素,但textbox.setfocus在循环中无法正常工作。在将数字分配给数组中的元素后,我清除了框然后设置了setfocus。我认为这样做的唯一另一种方法是隐藏单个框并显示6个隐藏的然后他们可以选项卡,或者我可以在填充时再次隐藏每个框。 这是一段代码,所以我应该知道我在这里要做什么。
Private Sub Inbox_Keypress(KeyAscii As Integer)
Select Case KeyAscii ' Determine keypress
Case vbKey0 To vbKey9 'Only the numbers
Case vbKeyBack, vbKeyClear, vbKeyDelete ' Accept these keys
Case vbKeyLeft, vbKeyRight ' Arrow keys
Case 13 ' Enter
If GenOpt(5).Value = True Then
For c = 1 To 6
Gen6_user(c) = Inbox.Text
'Select Case KeyAscii
' Case 13
Talkbox.Caption = "Please enter the next user number for Generator 6"
'Case Else
' MsgBox Msg, style, title
'End Select
If c = 6 Then Exit For
Do
Inbox.Text = ""
Inbox.SetFocus
Loop Until KeyAscii = 13
Next
For c = 1 To 6
Msg6.Print Gen6_user(c)
Next
Else
User_number = Inbox.Text ' Assign any final value to User_number variabl)
Generate.SetFocus
'Generate_Click ' Call generate function
End If
任何帮助将不胜感激
旅
答案 0 :(得分:0)
我在工作,我在这里没有方便的VB6 ......但是,这应该可行(可能只需要一些小调整,我相信你可以解决这些问题):
Dim x As Integer = 1
Dim myArray(6) As Integer
Private Sub TextBox1_KeyUp(KeyCode As Integer)
If KeyCode = 13 Then
myArray(x) = TextBox1.Text
x = x + 1
TextBox1.Text = ""
End If
If x = 6 Then
Debug.Print("Here you check your numbers?")
End If
End Sub