2 / 2 / 3
Регистрация: 13.10.2012
Сообщений: 130
1

Событие из другой формы

04.04.2016, 12:11. Показов 8829. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, есть Form1 и Form2 на form1 есть label, нужно при закрытии Form2 вызвать метод

C#
1
2
3
4
private void Test()
        {
            label1.Text = "Text";
        }
естественно что
C#
1
2
3
4
5
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            Form1 frm = new Form1();
            frm.test();
        }
не работает
почитал кучу постов, про подписку на события, ни чего не понял, прошу помочь разобраться
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2016, 12:11
Ответы с готовыми решениями:

Событие закрытия одной формы с другой
Добрый день. Есть вопрос, но ответ не могу найти. Есть форма 1, при нажатии на кнопку на форме 1 я...

Как отловить событие запуска другой формы
Здравствуйте. В форме А создаю форму B. Как в форме B можно обращаться к событие Load? делаю...

Обращение к переменной одной формы, обрабатывая событие на другой форме...
Я сделал в гриде столбец селект. При нажатии на кнопку, я сохраняю индекс выбранного ряда в...

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

3
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
04.04.2016, 12:30 2
Slavok47,
Вариантов несколько. О них можно почитать в Ответы на 7 самых частых вопросов по WinForms (п.2).
Например, если нужно просто вывести какой-то текст, то все пишем в классе Form1:
C#
1
2
3
4
5
6
7
8
9
10
11
private void button1_Click(object sender, EventArgs e)
{
    Form2 f2 = new Form2();
    f2.FormClosing += new FormClosingEventHandler(f2_FormClosing); //подписываемся на событие
    f2.ShowDialog();
}
 
void f2_FormClosing(object sender, FormClosingEventArgs e)
{
    label1.Text = "Text";
}
Если же из 2-й формы нужно взять данные, то создаем в классе Form2 метод:
C#
1
2
3
4
public string GetText()
{
    return textBox1.Text;
}
А в обработчике закрытия вызываем этот метод:
C#
1
2
3
4
5
6
7
8
9
10
11
private void button1_Click(object sender, EventArgs e)
{
    Form2 f2 = new Form2();
    f2.FormClosing += new FormClosingEventHandler(f2_FormClosing);
    f2.ShowDialog();
}
 
void f2_FormClosing(object sender, FormClosingEventArgs e)
{
    label1.Text = (sender as Form2).GetText();
}
1
2 / 2 / 3
Регистрация: 13.10.2012
Сообщений: 130
04.04.2016, 13:00  [ТС] 3
Спасибо! по примерам стал более менее понятен принцип
0
2806 / 1676 / 884
Регистрация: 14.04.2015
Сообщений: 5,714
04.04.2016, 13:36 4
у меня тоже красиво)
Вложения
Тип файла: rar событие из другой формы.rar (54.2 Кб, 90 просмотров)
0
04.04.2016, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2016, 13:36
Помогаю со студенческими работами здесь

Из дочерней формы убрать событие из объекта главной формы (а потом обратно добавить)
Есть основная форма, которое я называю главной формой. Создаю дочернюю форму - "Настройки", на...

Вызвать событие другой формы
Доброе время суток. у меня есть 2 окна. мне нужно что бы при нажатии кнопки во второй окне,...

Событие кнопки одной формы использовать в другой форме
Работаю в Windows Forms. Требуется из form1 нажать на button1 и вызвать событие button2 из form2....

Как перенести значения из одного компонента одной формы в другой компонент другой формы?
В общем ситуация смешная для профи,делаю программу для редактирования и печати вкладышей для...


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

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

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