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

Вызов события нажатия кнопки в другой форме и закрытие вызывающей событие формы

15.05.2016, 08:28. Показов 4139. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, столкнулся с такой проблемой: хочу из дочерней формы вызвать событие нажатия кнопки основной (или какой-либо иной формы) и еще при этом закрыв текущую дочернюю форму.
C#
1
2
3
Close(); // Вызов закрытия текущей формы
MenuForm menu_form = new MenuForm(); // Создаем экземпляр формы, в которой хотим вызвать событие
menu_form.button1_Click(this, null); // Вызов события нажатия кнопки button1
Примечательно, что Close(); так и не выполнится, т.к. в первую очередь выполняется событие нажатия кнопки (в котором открывается новое окно)

Пробовал вместо menu_form.button1_Click(this, null); использовать menu_form.button1.PerformClick(); , в этом случае форма дочерняя закрывалась, но некорректно срабатывало событие нажатия кнопки в нужной мне форме (оно не срабатывало, новое окно не открывалось)

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

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

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

Вызов нажатия кнопки из другого события
Всегда вызывал нажатия кнопок из других событий вот таким способом ButtonClick(Sender); На днях...

Вызов события нажатия кнопки из другого потока
Всем доброго времени суток)Ребят, помогите решить проблему!Суть моей программки проста, нужно...

1
2 / 2 / 3
Регистрация: 26.03.2016
Сообщений: 24
15.05.2016, 10:13 2
C#
1
MenuForm menu_form = new MenuForm();
Для начала, ты не вызываешь форму-владельца, ты просто создаешь новую, абсолютно никак не связанную с другими, форму. Если тебе нужна именно главная, которая запустилась в самом начале, то при вызове дочерней тебе нужно передать её. Примерно так
C#
1
2
3
ChildForm child = new ChildForm();
child.Owner = this;
child.Show();//child.ShowDialog();
И в твоей дочерней форме её "высунуть"
C#
1
MainForm main = this.Owner as MainForm;
Далее, чтобы инициировать нажатие кнопки на главной форме, нужно всего лишь вызвать этот метод
C#
1
main.Button1Method();
Надеюсь, понятно объяснил)
0
15.05.2016, 10:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2016, 10:13
Помогаю со студенческими работами здесь

Вызов события после нажатия определённой кнопки
Здравствуйте. Подскажите, как можно вызвать событие после нажатия определённой кнопки?

Как из обработчика Form1_KeyPress вызвать событие для нажатия заданной по имени кнопки на форме (кнопки 0-9)
Пишу калькулятор. Есть несколько кнопок (Button) с цифрами и знаками. Для цифр имена кнопок:...

Вызов события нажатия кнопки нажатием клавиши на клавиатуре
Доброго времени суток. Когда разрабатывал один проект, внезапно задумался над одной задачкой: можно...

Создайте обработчик события нажатия кнопки мыши на форме (Click), который будет устанавливать все кнопки в активный режи
Доброго времени суток! Помогите сделать задачу пожалуйста я полный ноль! (с описанием если...


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

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