Мое приложение (C#, VS2008) загружает информацию из базы данных (SQL Server 2008 Express) по сети. Во время (возможно) долгожданных ожиданий я хочу, чтобы диалоговое окно «Загрузка ...» появилось в другом потоке, но только если операция занимает больше определенного периода времени (скажем, 500 мс).Настройка формы. Настроить форму из другой темы
Итак, я до сих пор показывал, что моя загрузочная форма отображается после 500 мс (если операция длится так долго), не устанавливая владельца формы диалогового окна загрузки (например, вызывая LoadDialog.ShowDialog()), но когда я пытаюсь вызвать LoadDialog .ShowDialog (владелец IWin32Window) с владельцем, установленным в основную форму (переданный через параметр потока). Я получаю InvalidOperationException о доступе к элементам управления по потокам.
Мой основной вопрос: могу ли я создать и ShowDialog форму с параметром владельца, установленным в форму в другом потоке? Я хочу сделать это, чтобы диалог загрузки был модальным для остальной части приложения, т. Е. Как и любой другой диалог, фокусируется и запрещает ввод в другом месте.
Может ли кто-нибудь предложить предложение? Я не читал кучи о заставках без везения, а также об Invoke и BeginInvoke без везения. Есть ли другой способ, которым я должен заниматься этим?
Пожалуйста, не стесняйтесь просить разъяснений, если вы не понимаете.
Merci (как они говорят по-французски),
Jacob.
Нет, вы не можете сделать это, даже не пробовать. – leppie
Зачем вам диалог в другом потоке? – SpaceghostAli