Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 11.10.2012, 21:42   #1
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
Репутация: 10
По умолчанию Не выводится текст в Label

Есть некий метод, который заполняет грид данными и это занимает
несколько секунд(так как данных много), естестве но программа
во время этого зависает. И чтоб пользователь не думал что программа
зависла из-за неполадок, я хочу выводить в какой то лейбел что "идет загрузка".
Делаю так: перед вызовом метода заполнения пишу в лейбел текст, а после метода
стираю его, но лейбел так и остается пустым(А если вместо лейбела меседж боксы
то все работает - один выводится перед стартом, второй по за вершению).
Подскажите почему так?

Последний раз редактировалось vovik93; 11.10.2012 в 21:50.
vovik93 вне форума   Ответить с цитированием
Старый 11.10.2012, 21:59   #2
Luuzuk
Участник клуба
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Адрес: Самара
Сообщений: 975
Репутация: 605

icq: З7ЧЗЗ89Ч5
По умолчанию

код в студию!
__________________
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума   Ответить с цитированием
Старый 11.10.2012, 22:07   #3
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
код в студию!
Код:
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Stop();
            Label1.text = "Loading...";
            //MessageBox.Show("start");

            ReadXML(urlForXml);
            AddDataInGrid();

            timer1.Start();
            Label1.text = "";
            //MessageBox.Show("stop");
        }
vovik93 вне форума   Ответить с цитированием
Старый 11.10.2012, 22:56   #4
Luuzuk
Участник клуба
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Адрес: Самара
Сообщений: 975
Репутация: 605

icq: З7ЧЗЗ89Ч5
По умолчанию

Предполагаю 2 варианта:
1) ReadXML(urlForXml); и AddDataInGrid(); выполняются так быстро, что вы не успеваете увидеть надпись
2) ReadXML(urlForXml); AddDataInGrid(); выполняются долго, но надпись на экране не обновляется, т.к. основной поток занят загрузкой XML и добавлением данных в грид.
Решение аналогично вашей другой теме: использовать отдельный поток под загрузку данных
__________________
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума   Ответить с цитированием
Старый 12.10.2012, 09:19   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,114
Репутация: 5675
По умолчанию

Luuzuk +1

добавлю ещё один вариант...
проверьте такой код:
Код:
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Stop();
            Label1.text = "Loading...";

            Application.DoEvents();

            //MessageBox.Show("start");

            ReadXML(urlForXml);
            AddDataInGrid();

            timer1.Start();
            Label1.text = "";
            //MessageBox.Show("stop");
        }
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 12.10.2012, 14:13   #6
coNsept
Участник клуба
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Адрес: Republic of Moldova
Сообщений: 716
Репутация: 44

skype: mr.kernighan
По умолчанию

Создаешь поток BackgroundWorker и можешь в этом же потоке использовать метод this.Invoker для изменения текста в лейбле если твои операции занимают долгое время.
coNsept вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выводится текст парсинга bulldog5293 Работа с сетью в Delphi 0 30.04.2011 18:26
Не выводится текст статьи из БД (PHP,MySQL) Mysqler Помощь студентам 1 19.05.2010 21:26
Текст в Label и cfg фаил. 54rus Помощь студентам 7 27.07.2009 10:38
Текст из label Domoffou Win Api 1 07.01.2008 10:49


06:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.