не отображается текст в textBox во время цикла

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
FrauAja
Сообщения: 3
Зарегистрирован: 25 мар 2013, 10:12

во время выполнения цикла в textBox не отображается значение переменной, нужно выводить только одно текущее значение на одном шаге, а в textBox отображается только последнее значение после завершения цикла.

Код: Выделить всё

private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
 
             for(count=0; count<k; count++)
             {
                      sm=Convert::ToString(count);
                      this->textBox2->Text=sm;
                      Thread::Sleep(2000);
             }
         }


Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Попробуйте другой способ задержки, таймер, например. sleep останавливает поток и, наверное, текстбокс не успевает перерисоваться, а по истечении 2с он уже получает другое значение и опять засыпает.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Да, sleep - это зло. Данная задача действительно максимально правильно решается через таймер.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
FrauAja
Сообщения: 3
Зарегистрирован: 25 мар 2013, 10:12

спасибо)
с таймером все работает
Ответить