Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/17: Рейтинг темы: голосов - 17, средняя оценка - 4.76
polsok
3 / 3 / 6
Регистрация: 20.03.2011
Сообщений: 348
1

Вызвать событие при закрытии дочерней формы

26.08.2014, 20:19. Просмотров 3263. Ответов 7
Метки нет (Все метки)

При закрытии дочерней формы мне нужно вызвать метод в главной форме. Подскажите как это сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2014, 20:19
Ответы с готовыми решениями:

Ошибка при закрытии дочерней формы
Привет! Есть баг, который никак не могу исправить. Существуют 2 формы Form1...

Завершение процесса при закрытии дочерней формы
Много разных способов в интернете и мало толковых разъяснений. Подскажите как...

Обновление родительской формы при закрытии дочерней
Здрасте гуру! Есть такая проблема, пытаюсь обновить (перерисовать?) treeview в...

Завершение задач при закрытии дочерней формы
Что мы имеем. - дочерняя форма программы. - мой класс, в котором...

При закрытии дочерней формы, почемуто закрывается все приложение
В Programme.cs Application.Run(new Form6()); тоесть главная форма это форм...

7
XRoy
861 / 711 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
26.08.2014, 20:22 2
Используйте событие
0
polsok
3 / 3 / 6
Регистрация: 20.03.2011
Сообщений: 348
26.08.2014, 20:23  [ТС] 3
XRoy, плохо у меня с событиями и делегатами. Подскажи как это сделать, дай конструкцию что ли.
0
XRoy
861 / 711 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
26.08.2014, 20:44 4
polsok,
Самый простой пример
C#
1
2
3
            Form f = new Form();
            f.Show();
            f.FormClosed += (obj, args) => MessageBox.Show("Form closed!");
2
some_name
Вежливость-главное оружие
227 / 225 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
26.08.2014, 20:49 5
Вот так можно:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public FormMain()
        {
            InitializeComponent();
            Form childForm = new Form();
            childForm.Owner = this;
            childForm.FormClosed += new FormClosedEventHandler(NotifyAboutClosedChildForm);
            childForm.Show();
        }
 
        private void NotifyAboutClosedChildForm(object sender, FormClosedEventArgs args)
        {
            MessageBox.Show(args.CloseReason.ToString());
        }
1
insite2012
Модератор
Эксперт .NET
4851 / 3806 / 1094
Регистрация: 12.10.2013
Сообщений: 11,096
Записей в блоге: 2
26.08.2014, 20:55 6
some_name, вот так короче и симпатичнее, ятд)))
polsok, вот пример. На осн. форме кнопка.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += (sender, e) =>
                {
                    Form f2 = new Form();
                    f2.FormClosed += (obj, arg) =>
                        {
                            MessageBox.Show("Form2 is closed now!", "Message");
                        };
                    f2.ShowDialog();
                };
        }
    }
}
1
some_name
Вежливость-главное оружие
227 / 225 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
26.08.2014, 20:57 7
insite2012, лямбды рулят и разруливают!
0
insite2012
26.08.2014, 20:58     Вызвать событие при закрытии дочерней формы
  #8

Не по теме:

some_name, 100500 :)

0
26.08.2014, 20:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2014, 20:58
Привет! Вот еще темы с ответами:

Как при закрытии дочерней формы обновить компоненты на родительской
Здравствуйте. Собственно есть дочерняя форма(запущена showdialog()) и на ней...

Не работает событие при закрытие дочерней формы
Добрый день, не могу решить данную проблему. При закрытии дочерней формы...

Событие при закрытии формы
Здравствуйте! Подскажите как сделать какую либо функцию при закрытии формы,...


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

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

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