Ameer Salah Ответов: 2

Как свести к минимуму весь процесс ребенка в общий процесс с#


Я пытаюсь свести к минимуму все дочерние процессы windows из кода c#

Application.openforms возвращает длину 0.


Спасибо заранее

Что я уже пробовал:

foreach (Form f in Application.OpenForms)
              {

                      f.WindowState = FormWindowState.Minimized;

              }

2 Ответов

Рейтинг:
5

OriginalGriff

Код отлично работает для меня, что именно то, что я ожидал.

Так что вам нужно сделать пару вещей:
1) Проверьте, когда вы выполняете этот код: если он взят из конструктора, то нужные вам формы могут быть еще не полностью инициализированы, например.
2) Проверьте свою UIPermission:

Цитата:
Вызывающий должен иметь разрешение на доступ ко всем окнам, как определено значением AllWindows перечисления UIPermissionWindow.
(Приложение.Свойство OpenForms (System.Окна.Формы) | Microsoft Docs[^])


Рейтинг:
0

Maciej Los

Как правило, а Приложение.Свойство OpenForms (System.Окна.Формы) | Microsoft Docs[^] должен делать свою работу, но...

Причина такого поведения была описана здесь: c# - приложение.Открытые формы.Count = 0 всегда - переполнение стека[^]


BillWoodruff

+5 очень интересная тема на SO

Maciej Los

Спасибо, Билл.