powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / BackgroundWorker вешает GUI
5 сообщений из 5, страница 1 из 1
BackgroundWorker вешает GUI
    #38532283
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма, на ней одна кнопка Cancel.
Форме передается список файлов для удаления.

Я пускаю BgW, он удаляет файлы и пишет в

backgroundWorker1_ProgressChanged


какой файл удаляется.
Все работает для списка из 10-50 файлов, но если список >200 вешается форма, т.е. прогресс бежит, строка обновляется, но нажать на кнопку Cancel не могу, и даже не могу двинуть форму мышью....

Может кто встречался с такой фигнёй? Причем, для тестов задвинул список из 1000 - даже в студию под отладичком не мог перейти...
...
Рейтинг: 0 / 0
BackgroundWorker вешает GUI
    #38532293
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh, код покажи
...
Рейтинг: 0 / 0
BackgroundWorker вешает GUI
    #38532320
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh,

может не BgW вешает, а IO операции вешают?
...
Рейтинг: 0 / 0
BackgroundWorker вешает GUI
    #38532326
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileWinnipuh, код покажи

кода там много...

Иду в цикле по списку и удаляю...
сейчас убрал
//worker.ReportProgress(50, strText1);

И все работает нормально, не замерзает.
Как только открываю - та же фигня.

Прогресс такой

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
           
	string strText = e.UserState as string;
    textBox1.Text = strText;

    String strOutput;
    if (textBoxReport.Text.Length > 0)
        strOutput = String.Format("{0}{1}{2}",
            textBoxReport.Text, System.Environment.NewLine, strText);
    else
        strOutput = String.Format("{0}", strText);

    textBoxReport.Text = strOutput;
    m_strReport = textBoxReport.Text;
}
...
Рейтинг: 0 / 0
BackgroundWorker вешает GUI
    #38532359
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил.... String...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / BackgroundWorker вешает GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]