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

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

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

Доброго времени суток! Делаю приложение. Каждую форму открываю в главной через такую конструкцию
C#
1
2
3
4
      if (this.MdiChildren.Any()) return;
            Schedule form8 = new Schedule();
            form8.MdiParent = this;
            form8.Show();
Как отслеживать открыты ли остальные формы приложения и выводить диалог с предложением закрыть форму перед открытием новой?
Заранее спасибо за помощь!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2018, 17:46
Ответы с готовыми решениями:

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

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

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

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

3
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
07.05.2018, 14:30  [ТС] 2
Делаю так на открытие формы:
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
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 848
07.05.2018, 14:49 3
Лучший ответ Сообщение было отмечено Sanya Black1993 как решение

Решение

Sanya Black1993, я так понимаю такая конструкция вас не устраивает?
C#
1
(new Form2()).ShowDialog();
0
2 / 0 / 7
Регистрация: 12.05.2012
Сообщений: 173
07.05.2018, 15:00  [ТС] 4
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2018, 15:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.