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

Закрытие родительской формы, сохраняя активной дочернюю

11.11.2015, 10:50. Показов 1275. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро!
Есть две формы: Form1(род.) и Form2(доч.). Необходимо сделать так, чтобы при закрытии родительской формы, оставалось активным окно дочерней формы. Пытаюсь снимать все привязки по овнеру и парентам в событии FormClosing, но этого недостаточно, дочернее окно все равно закрывается вслед за Form1.
Попытка сделать e.Closing = false; для дочернего окна - тоже не помогла...

Кто может, подскажите правильный путь решения задачи.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2015, 10:50
Ответы с готовыми решениями:

Передача данных DataGridView из родительской формы в дочернюю
Всем привет! В общем у меня 2 формы в первой есть dgv в котором 5 колонок одни из них id и name а...

Закрытие родительской формы
Всем хай. Суть программы: в точке входа открывается форма Authorization, вводим логин и пароль, по...

Как закрыть дочернюю форму из родительской?
Подскажите, как закрыть дочернюю форму из родительской?

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

5
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
11.11.2015, 10:55 2
никак, если дочернее окно создаётся в классе родительского. Варианта 2:
1) Создавай дочернее окно в другом классе, а из родительского только делай show
2) Родительскую форму не закрывай, а пряч
1
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58
11.11.2015, 11:17  [ТС] 3
Цитата Сообщение от aquaMakc Посмотреть сообщение
никак, если дочернее окно создаётся в классе родительского. Варианта 2:
1) Создавай дочернее окно в другом классе, а из родительского только делай show
2) Родительскую форму не закрывай, а пряч
Оба класса созданы по отдельности друг от друга.
Единственно, что их связывает, это событие исходящее из Form1:
C#
1
2
3
4
5
6
        private void Form1_Load(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.Owner = this;
            form2.Show();
        }
Исходя из чего я и делал предположение, что для события OnClosing достаточно будет обнулить овнера и закрыть Form1.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
11.11.2015, 11:20 4
Цитата Сообщение от -JR- Посмотреть сообщение
Оба класса созданы по отдельности друг от друга.
неправда
вот создание:
Цитата Сообщение от -JR- Посмотреть сообщение
Form2 form2 = new Form2();
0
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58
11.11.2015, 11:41  [ТС] 5
Цитата Сообщение от -JR- Посмотреть сообщение
Создавай дочернее окно в другом классе, а из родительского только делай show
Создал в классе Form2 статический объект:
C#
1
 public static Form2 form2 = new Form2();
через событие родительской формы показываю его с помощью .Show(); Но при закрытии родительской формы, все равно закрывается и вторая форма, даже если в событии OnClosing для Form2 я запрещаю закрытие.

Возможно можно как-то перекинуть рута с одной формы на другую?
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
11.11.2015, 11:55 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class simpleClass
{
   Form1 form1;
   Form2 form2;
 
  public simpleClass()
  {
     form1 = new Form1(this);
     form1.Show();
  }
 
  public void showForm2()
  {
     form2 = new Form2();
     form2.Show();
  }
}
simpleClass создаёшь в Program
и там-же убираешь создание формы1 в строке
Application.Run(new Form1());

Добавлено через 6 минут
В принципе можно не создавать отдельный класс, а эти действия производить в Program. Но лично я не люблю работать через него.
0
11.11.2015, 11:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2015, 11:55
Помогаю со студенческими работами здесь

Передать с родительской формы в дочернюю
Всем хорошего настроения! Обчитался просто:) в интернете сколько тем по поводу этих форм,...

Передача переменных из родительской формы в дочернюю
Прошу помочь советом или делом, уж как получится)) Искал на форуме рассматриваются варианты...

Закрытие активной формы
И еще один вопросик небольшой ))) Скажите, пожалуйста, какой функцией VBA закрывается формочка ?...

Как объединить дочернюю тему с родительской?
Подскажите пожалуйста, как объединить дочернюю тему с родительской, и на ее основании создать...


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

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