| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > проблема с lable |
| Автор: крылья 19.4.2015, 03:32 |
| ребят такая тема, в общем я создал форму на с++, там сделал кнопку, и по нажатии кнопки у меня секунда 20 будет выполняться метод, после того как он выполнится должно выводиться в lable слово "тик", потом я снова вызываю тот же метод который 20 секунд длиться и уже должно вывести в lable слово "так"..........при запуске он через некоторое время сразу выводит "так" помогите кто знает, что нужно подправить???..вот код: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { ppp1(); //метод выполняется 20 секунд this->label4->Text = "тик"; //вывести тик ppp1(); //метод выполняется 20 секунд this->label4->Text = "так"; //вывести так } |
| Автор: victor201538 19.4.2015, 10:02 |
Модератор: Сообщение скрыто. |
| Автор: rudolfninja 19.4.2015, 10:25 | ||
| Я бы предположил, что метод выполняется не 20 секунд, а намного быстрее и вы не успеваете увидеть надпись "тик". Попробуйте изменить код следующим образом:
Если таким образом все будет работать нормально, то функция ppp1() выполняется совсем не 20 секунд. |
| Автор: крылья 19.4.2015, 12:07 |
| нет вы ошибаетесь, мой метод выполняется не меньше 20 секунд, это точно, и даже если слипом заделать 20 секунд задержке как у вас, то всё равно не будет работать, сразу конечный результат выдаст)) тут нужно как-то к диспетчеру потока обратиться на обновление окна, на WPF знаю как, но а с++ не могу разобраться! |
| Автор: rudolfninja 19.4.2015, 17:23 |
| Вообще, судя по коду у вас не c++, а скорее, с#. Потому что в c++ нет типа Void, перед объявлением функции не пишется спецификатор доступа, а ссылка в c++ обозначается как &, а не ^. Попробуйте сделать что-то типа this->GetWindow()->Update() или какой аналогичный метод. |