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

Закрытие формы перед открытием следующей

05.05.2018, 17:46. Показов 1406. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Делаю приложение. Каждую форму открываю в главной через такую конструкцию
C#
1
2
3
4
      if (this.MdiChildren.Any()) return;
            Schedule form8 = new Schedule();
            form8.MdiParent = this;
            form8.Show();
Как отслеживать открыты ли остальные формы приложения и выводить диалог с предложением закрыть форму перед открытием новой?
Заранее спасибо за помощь!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2018, 17:46
Ответы с готовыми решениями:

Что происходит перед открытием формы?
Всем добрый день! 1С 8.3, УТП Не могу понять... Что происходит между вызовом ФормаДокумента.Открыть(); и процедурой в модуле...

Открытие консоли перед открытием формы
Поставил 2012 студию (наконец-то в cli работают подсказки intelisense). Но теперь здесь нет шаблона "Приложение WinForm clr"...

Автоматическое заполнение полей формы значениями выделенной перед открытием строки
здравствуйте в VBA не силён, но очень надо бьюсь второй день задача такая - форма должна открываться как для ввода новых строк в...

3
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
07.05.2018, 14:30  [ТС]
Делаю так на открытие формы:
C#
1
2
3
4
5
 if (this.MdiChildren.Any()) return;
 Schedule form8 = new Schedule();
 form8.MdiParent = this;
 form8.Show();
 menuStrip1.Visible = false;
и вот так на закрытие:
C#
1
2
3
MainForm form1 = new MainForm();
form1.menuStrip1.Visible = true;
Close();
В итоге меню прячется и не возникает после закрытия формы. Нужно чтобы меню снова появлялось. Подскажите пожалуйста!

Добавлено через 2 часа 7 минут
Сделал так на главной форме
C#
1
2
3
4
5
6
7
8
9
private void новоеРасписаниеToolStripMenuItem_Click(object sender, EventArgs e)
{
   if (label1.Text == "1") { MessageBox.Show("Не закрыта форма!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
   if (this.MdiChildren.Any()) return;
   Schedule form8 = new Schedule();
   form8.MdiParent = this;
   form8.Show();
   label1.Text ="1";
}
На второй форме
C#
1
2
3
4
5
6
7
private void button2_Click(object sender, EventArgs e)
{
  MainForm form1 = new MainForm();
  form1.label1.Text = "0";
  form1.ShowDialog();
  Close();
}
В итоге при закрытии главной формы как-будто приходится закрывать все открывшиеся окна,
которые были открыты при помощи form1.ShowDialog();
Как решить эту проблему?
0
Unnamed
 Аватар для kingzfate
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
07.05.2018, 14:49
Лучший ответ Сообщение было отмечено Sanya Black1993 как решение

Решение

Sanya Black1993, я так понимаю такая конструкция вас не устраивает?
C#
1
(new Form2()).ShowDialog();
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
07.05.2018, 15:00  [ТС]
kingzfate, я нашёл и другой вариант благодаря форуму.
На главной форме
C#
1
2
3
4
5
6
     if (FormClose.Value == 1) { MessageBox.Show("Не закрыта форма!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
            if (this.MdiChildren.Any()) return;
            Rules form7 = new Rules();
            form7.MdiParent = this;
            form7.Show();
            FormClose.Value = 1;
Также создаю класс
C#
1
2
3
4
 static class FormClose
    {
        public static int Value { get; set; }
    }
В вызываемой форме зануляю значение FormClose.Value = 0;

Добавлено через 17 секунд
Благодарю за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2018, 15:00
Помогаю со студенческими работами здесь

Обновить страницу перед открытием
Здрасте! У меня проблемка: С помощью формы textarea отправляю текст на страницу,скажем, text.php она генерирует страницу text.htm...

Выборка данных перед открытием отчета
Всем привет. Подскажите пожалуйста с такой вот запаркой. Сделал таблицы, сделал формы, запрос и отчет. Отчет выводит список пользователей у...

Всплывающее окно перед открытием программы
Приветствую. Такое дело, не могу понять как сделать всплывающее окно с "Приветствием" (которое само бы закрывалось через секунд 10)...

Долгий промежуток перед открытием баз или F9
Доброго времени. Недавно стали жаловаться пользователи, да у себя тоже наблюдал, что после некоторого времени простоя (неработы с...

Как проверить, что файл существует перед открытием?
Аналог FileExists()


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru