текстовое поле не обновляется во время выполнения каждого цикла - PullRequest
0 голосов
/ 08 марта 2012

Windows Forms, приложение VB ... Простите меня заранее за этот очень элементарный вопрос, но я упускаю из виду кое-что действительно простое здесь.Я хотел бы, чтобы метка показывала текущее значение переменной при выполнении каждого цикла. Я создал очень простое событие нажатия кнопки, чтобы выяснить, где происходит сбой.Как сейчас, значение не отображается до тех пор, пока не завершится выполнение цикла для каждого цикла, который должен отображать значение счетчика каждый раз, когда он проходит ... Я знаю, что это возможно и действительно просто, потому что я делал это много лет назад, нопо жизни я не могу понять, почему я скучаю по планке, так как она должна постоянно обновлять лейбл, чтобы отразить это?Тест Sub выглядит следующим образом:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim counter As Integer = 0
    For x As Integer = 1 To 200000
        counter += 1
        Label1.Text = Convert.ToString(counter)
    Next
End Sub

Ответы [ 2 ]

5 голосов
/ 08 марта 2012

Попробуйте добавить строку: Application.DoEvents() внутри цикла.

1 голос
/ 08 марта 2012

попробуйте это

For x As Integer = 1 To 200000
    counter += 1
    Label1.Text = Convert.ToString(counter)
    System.Threading.Sleep(200)
Next

Я бы посоветовал вам использовать BackGroundWorker , если вы хотите, чтобы отчет работал.

СМОТРИТЕ ЗДЕСЬ
СМОТРИТЕ ТАКЖЕ ЗДЕСЬ
ЛУЧШАЯ ССЫЛКА для меня и это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...