Member 13362025 Ответов: 2

Я хочу, чтобы отобразить первую строку из richtextbox, чтобы текстовое поле textbox1 через 5 сек текстовое поле textbox1 будет ясно и вторую строку из richtextbox элемент шоу в текстовое поле textbox1


i want to display the first line from the richtextbox1 to textbox1 after 5 sec textbox1 will be clear and second line from richtextbox1 show to textbox1

I WANT TO SHOW THE OUTPUT LIKE

green
...after 5 sec   //green will be cleared from Textbox1 and write Yellow
yellow
...after 5 sec   //Yellow will be cleared from Textbox1 and write blue
blue
...after 5 sec   //blue will be cleared from Textbox1 and write red
red

WHAT CAN I DO TO GET THE OUTPUT LIKE THIS..

Thanks in Advance


Что я уже пробовал:

Private Sub Timer1_Tick_1(sender As Object, e As EventArgs) Handles Timer1.Tick

       For Each strLine As String In RichTextBox2.Text.Split()

           txt_myip.Text = strLine.Remove(0, 1)

       Next
   End Sub

2 Ответов

Рейтинг:
4

Member 13362025

Dim index As Integer = 0

Private Sub Timer1_Tick_1(sender As Object, e As EventArgs) Handles Timer1.Tick
       
        If (Not index >= RichTextBox2.Lines.Length - 1) Then
            txt_myip.Text = RichTextBox2.Lines(index)
            index += 1
        Else
            index = 0
            Timer1.Stop()
        End If

    End Sub


Рейтинг:
20

OriginalGriff

Это не так, как работают таймеры: каждый раз, когда вы получаете событие Тика, вы берете строку из RichTextBox и отображаете ее в своем текстовом поле, а затем устанавливаете условия для следующего Тика - обычно с помощью переменной уровня класса, которая содержит "следующий номер строки" для отображения.

Использование цикла в обработчике ТИКов не делает этого, если всегда помещает содержимое из последней строки в текстовое поле!

Избавьтесь от цикла и используйте целое число уровня класса в качестве индекса в строках RichTextBox.