Visual Basic Autotyper, Вывод элементов списка

Я пытаюсь сделать простой автоматический типер в Visual Basic. Я хочу, чтобы он взял элементы ListBox и вывел их на выбранный пользователем интервал.

Проблема в том, что я не знаю, как заставить событие Tick Timer отправлять каждую строку, перезапускать вверху списка и продолжать цикл таким образом.

Дизайн формы:

введите описание изображения здесь

Я не перечислил много кода, потому что на самом деле не так много, чтобы перечислить.

Private Sub intervalTimer_Tick(sender As Object, e As EventArgs) Handles intervalTimer.Tick

End Sub

1 ответ

Вот код, но вам нужно заменить ListBox с ListView, это тот же вид, это просто для кода, чтобы работать.

Этот код собирается взять каждую строку из ListView и вывести его с помощью MsgBox используя таймер с интервалом по выбору пользователя, просто удалите окно сообщения и выведите результат там, где вам когда-либо нужно, и у вас все хорошо:

Сначала определите эту переменную в вашем публичном классе:

Dim ListedItems As String

Вот когда вы нажимаете кнопку установки, чтобы установить интервал:

Try
    intervalTimer.Interval = intervalTextBox1.Text * 1000
Catch
    MsgBox("The interval must be in purly seconds only!")
End Try

Вот когда вы нажимаете кнопку запуска:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    For Each LVI As ListViewItem In ListView1.Items
        If ListedItems = "" Then
            ListedItems = LVI.Text
        Else
            ListedItems &= vbLf & LVI.Text
        End If
    Next
    Timer1.Start()
End Sub

Вот когда событие отметки таймера:

Private Sub intervalTimer_Tick(sender As Object, e As EventArgs) Handles intervalTimer.Tick
    intervalTimer.Stop()
    Dim SeprateLine As String
    Dim Separator As Integer
    If ListedItems.Contains(vbLf) Then
        Separator = ListedItems.IndexOf(vbLf)
        SeprateLine = ListedItems.Remove(Separator)
        ListedItems = ListedItems.Substring(Separator + 1)
    Else
        SeprateLine = ListedItems
        ListedItems = ""
    End If
    MsgBox(SeprateLine)
    If ListedItems <> "" Then
        intervalTimer.Start()
    End If
End Sub

Наконец, я надеюсь, что это поможет вам с тем, что вам нужно:)

Другие вопросы по тегам