Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/64: Рейтинг темы: голосов - 64, средняя оценка - 4.91
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
1

Как перед запуском новой формы проверить открыта ли форма?

26.01.2018, 18:49. Показов 13028. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Как перед запуском формы проверить запущена ли она уже. Работаю с MDI контейнером.
Вот код на запуск формы, что мне нужно добавить для решения этой проблемы?
C#
1
2
3
                Form2 form2 = new Form2();
                form2.MdiParent = this;
                form2.Show();
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2018, 18:49
Ответы с готовыми решениями:

Как сделать чтобы перед запуском формы играла музыка
Подскажите пожалуйста, как сделать чтобы при открытии какой либо формы сразу проигрывала музыка?

Перед запуском приложения, проверить .NET Framework
Доброе время суток. Как реализовать проверку наличия нужного фрэймворка (либо вообще его...

Чтобы перед запуском формы проверялось одно условие, а именно запущено приложение с параметром или без
нужно сделать так, чтобы перед запуском формы проверялось одно условие, а именно запущено...

Как проверить, открыта ли форма?
Как проверить, открыта ли форма?

3
62 / 63 / 28
Регистрация: 10.01.2018
Сообщений: 360
26.01.2018, 19:07 2
Про какое-нибудь isShowed не знаю. по идее это должно работать
C#
1
2
3
4
5
6
 if (form2 == null || form2.IsDisposed)
      {
       form2= new Form2();
       form2.MdiParent = this;
       form2.Show();
      }
но мне кажется лучше просто блокировать процедуру повторного вызова формы и разрушать наверняка , если важно чтоб она была в единственном экземпляре.
0
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
26.01.2018, 19:17 3
Лучший ответ Сообщение было отмечено Sanya Black1993 как решение

Решение

Sanya Black1993, в вашем случае, думаю, проще как-то так:
C#
1
2
3
4
            if (this.MdiChildren.Any()) return;
            Form form2 = new Form();
            form2.MdiParent = this;
            form2.Show();
Но если телепатия не сработала, то
C#
1
form2.Name = "mdi";
C#
1
if (!Application.OpenForms.Cast<Form>().Any(f => f.Name == "mdi")) {/*запуск окна*/ }
1
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
26.01.2018, 19:31  [ТС] 4
netBool, благодарю вас. Всё отлично работает.
C#
1
2
3
4
 if (this.MdiChildren.Any()) return;
            Form form2 = new Form();
            form2.MdiParent = this;
            form2.Show();
0
26.01.2018, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2018, 19:31
Помогаю со студенческими работами здесь

Как проверить открыта или закрыта форма, открытая НЕ модально?
Здравствуйте. Есть две формы: Form1 (главная форма) и Form2 (открывается из первой НЕ модально)....

Как узнать, с какой формы открыта форма, активная сейчас
есть 3 формы Form1, Form2, Form3 На этих формах есть кнопка Adotable1.Append;...

Как узнать, с какой формы была открыта (Form*.ShowModal:) текущая форма
Доброго всем времени суток! Помогите, пожалуйста решить одну задачку: Проект для расчёта времени...

Проверить открыта ли форма
Мне нужно после нажатия одной кнопки проверить открыта ли форма и если да то закрыть если нет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru