0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 42
1

Закрытие дочернего окна

29.04.2011, 19:43. Показов 4050. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю MDI приложение,возникла проблема когда вытаюсь закрыть дочернее окно.В главное форме создаю обьект дочерней формы и вызываю функцию которая должна закрыть это самое окно но ничего не происходит,подскажите плиз что не так делаю
В главном окне
C#
1
2
Form2 frm = new Form2();
frm.CloseChildrenForm();
Функция в дочернем
C#
1
2
3
4
public void CloseChildrenForm()
        {
            this.Close();
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2011, 19:43
Ответы с готовыми решениями:

Запрет закрытие окна
Хотел убрать крестик с окна формы, не основной а другой скажем Forma2, установил ControlBox в...

Реализовать метод который будет находить дискриптор дочернего окна по заголовку используя EnumChildWindows
Помогите создать метод который будет находить дискриптор дочернего окна по заголовку используя...

закрытие окна и переход в другое
Есть два окна: Form1 и Form2. Как реализовать переход из одного в другое, с закрытием текущего....

Закрытие дочернего окна
private void bOK_Click(object sender, EventArgs e) { Authorization a = new...

4
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
29.04.2011, 19:57 2
Это вы просто код сократили или как? Должно быть что-то около этого:
C#
1
2
3
4
5
Form2 frm = new Form2();
frm.MDIParent = this;
frm.Show();
... 
frm.CloseChildrenForm();
Должно работать
0
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 42
29.04.2011, 20:12  [ТС] 3
Нет не работает так.Вот ссылка на проект,весь код выброшен кроме закрытия
Вложения
Тип файла: rar test1.rar (37.6 Кб, 21 просмотров)
0
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
29.04.2011, 20:35 4
Вы там в конструкторе создаете ЛОКАЛЬНУЮ переменную frm и выводите эту форму на экран. А в методе Close_Click создаете совершенно другую ЛОКАЛЬНУЮ переменную, хоть и с тем же именем frm.
Попробуйте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public partial class Form1 : Form
    {
        Form2 frm = null;
 
        public Form1()
        {
            InitializeComponent();
            frm = new Form2();
            frm.MdiParent = this;
            frm.Show();
        }
 
        private void Close_Click(object sender, EventArgs e)
        {
           if(frm!=null) { frm.CloseChildrenForm(); frm=null; }
        }
    }
0
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 42
29.04.2011, 21:22  [ТС] 5
SergBokh, Спс все работает
0
29.04.2011, 21:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2011, 21:22
Помогаю со студенческими работами здесь

Закрытие дочернего окна при закрытии родительского
Уважаемые, подскажите пожалуйста, кто сталкивался. Есть страница с кнопкой, при нажатии на которую...

Закрытие дочернего окна с уничтожением его методов
Здравствуйте. Есть основная родительская форма приложения для терминала сбора данных (КПК). Из нее...

Позиционирование дочернего окна относительно элемента главного окна
Всем привет. Подскажите пожалуйста, как можно сделать. У меня есть главное окно, на котором условно...

Закрытие формы из дочернего потока
Есть главная форма, в которой создаётся задача Task. Как из этого таска закрыть форму после его...

Вызов окна из дочернего WPF окна
Здравствуйте. Надеюсь , правильно сформулировал вопрос. Имеется проект на WPF В нём имеется...

Получить handle дочернего окна
Есть следующее дерево окон (из Spy++): Пытаюсь получить хэндл дочернего окна следующим...


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

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

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