2013-08-09 2 views
-4

Когда я нажимаю кнопку закрытия на дочерней форме, которая должна закрывать родительскую форму.Как закрыть родительскую форму с дочерней формой на C#?

Из-за программирования эффективного я не люблю использовать форму шоу() & скрыть() методы. (Вместо этого я использую метод ShowDialog())

Давайте предположим, что у меня есть 3 формы

  • form_A (мой радушный прием)
  • form_B
  • form_C.

Из form_A Я открою form_B, используя метод form_B.ShowDialog(). Затем далее я открываю form_C из form_B с использованием метода form_C.ShowDialog().

Мой вопрос в том, когда я закрываю form_C с помощью события click, form_C и form_B должен быть закрыт и обратно в form_A. Как я мог это сделать?

Кто-то, пожалуйста, помогите мне.

+0

Пожалуйста, напишите код –

ответ

5
//code in form A 
formB.ShowDialog(); 
Close(); 
//code in form B 
formC.ShowDialog(); 
Close(); 

Так при закрытии formC, то Close() после того, как будет выполнена и закрывает текущую форму, которая formB. formB закрыт ->Close() после formB.ShowDialog() будет исполнен и закрывает текущую форму, которая составляет formA, и ваш mainForm будет показан снова.

+0

Когда форма B показана, formC не открывается таким образом, потому что ShowDialog блокирует текущий метод. –

+0

@JeroenvanLangen OP говорит, что 'formC' отображается нажатием кнопки на' formB'. –

+0

Я прочитал его как 1 метод, вы правы –

Смежные вопросы