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

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

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

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

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

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

            })).Start();
Ответ написан
BasiC2k
@BasiC2k
Решаю проблемы за деньги. Дорого.
Прочитайте статью на сайте rsdsn про потоки. Всем рекомендую. Потоки - тема, в которую нужно погружаться полностью.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы