我正在尝试使用一个文本框从用户那里获得6个单独的输入数字

时间:2015-12-09 14:12:14

标签: vb6

我一直在尝试使用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

任何帮助将不胜感激

1 个答案:

答案 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