Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2016, 11:51   #11
DiligeNT
Новичок
Джуниор
 
Регистрация: 17.06.2016
Сообщений: 5
По умолчанию

Цитата:
Сообщение от max_prorok Посмотреть сообщение
Добавляешь на форму из Панели элементов -> Компоненты -> BackgroundWorker. Устанавливаешь в свойствах WorkerReportsProgress и WorkerSupportsCancellation в true. И добавляешь обработчики событий всех. Код ниже. в методе private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) вместо цикла вставляешь свой код, но с сохранением worker.ReportProgress(i * 10); Здесь у тебя записывается значение, которое потом передается в прогрессбар. Допустим в самом начале в скобках у тебя 0, потом 35 и в конце 100.
Всё заработало. Форма не виснет процесс идет. получилось как то так:

Код:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            Process qwe1 = new Process();
            qwe1.StartInfo.FileName = @"C:\PI_SYSTEM\OSIprereqs_standalone_2.0.0.10\Setup.exe";
            qwe1.StartInfo.Arguments = @" -f PRQS.ini";
            qwe1.Start();
            qwe1.WaitForExit();
            qwe1.Close();
            for (int i = 1; i <= 10; i++)
            {
                    worker.ReportProgress(i * 3,5);
            }
            Process qwe2 = new Process();
            qwe2.StartInfo.FileName = @"C:\PI_SYSTEM\PIActiveView_2012_SP2\Setup.exe";
            qwe2.StartInfo.Arguments = @" -f ACTW.ini";
            qwe2.Start();
            qwe2.WaitForExit();
            qwe2.Close();
            for (int i = 1; i <= 10; i++)
            {
                worker.ReportProgress(i * 10);
            }
        }
Буду дальше дорабатывать. Тут уже понятно. Спасибо друг!

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 17.06.2016 в 12:03.
DiligeNT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исходник программы для установки обновлений Dux Общие вопросы Delphi 16 26.05.2014 18:02
Сбой программы установки nvidia Lays Kaelsky Операционные системы общие вопросы 4 08.05.2014 15:02
регистрация осуществляемая только на раз с момента установки программы m1zantrop Общие вопросы Delphi 1 08.06.2012 12:18
Запуск программы в скрытом режиме. pr0n1x C# (си шарп) 0 19.05.2011 03:19
какие есть программы для автоматической установки компонентов TotKtoNado Компоненты Delphi 4 13.02.2011 19:36