Hateman31
@Hateman31
Делиться мыслями - это круто!

Как заставить UI «ждать» выполнения операции?

Есть десктоп утилита. Она выполняет чтение большой таблицы из файла.
Как сделать, чтобы UI не блочился пока идет обработка файла?
Посоветуйте толковый гайд по потокам.
В Гугле не банили, но сам найти не могу, так как новчиок в dotNet. Слишком сложный материал.
Асинхронный метод не нужен.
Надо только, чтобы в окошке был статус "Обработка файла...", пока файл грузится, но само окно было активным.

UPD: Проблема с потоками в том, что файлов может быть несколько. И каждый новый файл добавляется в объект MyTable через метод add_file. То есть у нас есть некое состояние, которое нужно хранить между чтением файлов.

UPD2: По-другому, как в новом потоке изменить объект, который создан в UI-потоке и не заблочить UI-поток ?
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 2
twobomb
@twobomb
(new Thread(() => {
                Invoke(new Action(() =>
                {
                    mylabel.Text = "Обработка файла...";
                }));

                //Тут обработка файла
                Invoke(new Action(() =>
                {
                    mylabel.Text = "Обработка файла завершена!";
                }));

            })).Start();
Ответ написан
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Прочитайте статью на сайте rsdsn про потоки. Всем рекомендую. Потоки - тема, в которую нужно погружаться полностью.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы