#c# #winforms #mono
#c# #winforms #моно
Вопрос:
У меня есть приложение c # winforms (MyApp.exe ) работает на Raspberry Pi через Mono.
Мое приложение начинается с: Application.Run(new FormHome());
Я открываю следующие формы с помощью:
FormX formX = new FormX();
formX.Show();
И я закрываю их с помощью:
formX.Close();
Я предполагаю, что MyApp всегда находится в фокусе (или, может быть, это не так, и это ответ на мой вопрос?)
Но давайте предположим, что MyApp всегда находится в фокусе, тогда каковы возможные сценарии, в которых нет активной формы?
Может ли быть так, что это Form.ActiveForm
присваивается null
в транзакции деактивации FormA и активации FormB?
Комментарии:
1.
formX.Hide();
2. Что-то в вашем приложении, которое не является формой или находится в форме, которая имеет фокус? Как системный каталог без winforms?
Ответ №1:
Из MSDN:
Активная форма — форма, представляющая текущую активную форму, или null, если активной формы нет.
Если ни одна из форм, принадлежащих приложению, не имеет фокуса, то активная форма будет иметь значение null.
Итак, если мы предполагаем, что ваше приложение всегда находится в фокусе, у вас никогда не будет ActiveForm = null .