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

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

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

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

Кто может, подскажите правильный путь решения задачи.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2015, 10:50
Ответы с готовыми решениями:

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

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

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

5
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
11.11.2015, 10:55
никак, если дочернее окно создаётся в классе родительского. Варианта 2:
1) Создавай дочернее окно в другом классе, а из родительского только делай show
2) Родительскую форму не закрывай, а пряч
1
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58
11.11.2015, 11:17  [ТС]
Цитата Сообщение от 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
Цитата Сообщение от -JR- Посмотреть сообщение
Оба класса созданы по отдельности друг от друга.
неправда
вот создание:
Цитата Сообщение от -JR- Посмотреть сообщение
Form2 form2 = new Form2();
0
4 / 4 / 2
Регистрация: 22.04.2015
Сообщений: 58
11.11.2015, 11:41  [ТС]
Цитата Сообщение от -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
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2015, 11:55
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru