Я создаю приложение, и я хотел бы реализовать окно прогресса, которое появляется, когда происходит длительный процесс.
Я создал стандартный проект формы Windows, к которому я создал свое приложение, используя форму по умолчанию. Я также создал новую форму для использования в качестве окна прогресса.
Проблема возникает, когда я открываю окно выполнения (в функции), используя:
ProgressWindow.ShowDialog();
Когда эта команда встречается, фокус находится в окне выполнения, и я предполагаю, что теперь это окно, которое mainloop обрабатывается для событий. Недостатком является то, что он блокирует выполнение моей длительной операции в основной форме.
Если я открою окно выполнения, используя:
ProgressWindow.Show();
Затем окно открывается правильно и теперь не блокирует выполнение основной формы, но оно не действует как дочернее (модальное) окно, то есть позволяет выбрать основную форму, не центрируется на родительском, и т.д.
Любые идеи, как я могу открыть новое окно, но продолжить обработку в основной форме?